Newer
Older
<?php
namespace calderawp\CalderaFormsQuery\Tests\Unit\Select;
use calderawp\CalderaFormsQuery\Tests\Unit\TestCase;
class EntryValuesTest extends TestCase
{
/**
* Test query by field where field value equals a value
*
* @covers \calderawp\CalderaFormsQuery\Select\EntryValues::queryByFieldValue()
*/
public function testQueryByFieldValueEquals()
{
$expectedSql = "SELECT `cf_form_entry_values`.* FROM `cf_form_entry_values` WHERE (`cf_form_entry_values`.`value` = 'josh@calderawp.com') AND (`cf_form_entry_values`.`slug` = 'email_address')";
$entryValues = $this->entryValuesGeneratorFactory();
$generator = $entryValues->queryByFieldValue('email_address', 'josh@calderawp.com');
$this->assertTrue($this->isAEntryValues($generator));
$actualSql = $entryValues->getPreparedSql();
}
/**
* Test query by field where field value does not equals a value
*
* @covers \calderawp\CalderaFormsQuery\Select\EntryValues::queryByFieldValue()
*/
public function testQueryByFieldValueNotEquals()
{
$expectedSql = "SELECT `cf_form_entry_values`.* FROM `cf_form_entry_values` WHERE (`cf_form_entry_values`.`value` <> 'josh@calderawp.com') AND (`cf_form_entry_values`.`slug` = 'email_address')";
$entryValues = $this->entryValuesGeneratorFactory();
$generator =$entryValues->queryByFieldValue('email_address', 'josh@calderawp.com', 'notEquals');
$this->assertTrue($this->isAEntryValues($generator));
$actualSql = $entryValues->getPreparedSql();
}
/**
* Test query by field where field value is like a value
*
* @cover \calderawp\CalderaFormsQuery\Select\EntryValues::$isLike
* @covers \calderawp\CalderaFormsQuery\Select\EntryValues::queryByFieldValue()
*/
public function testQueryByFieldValueLike()
{
$expectedSql = "SELECT `cf_form_entry_values`.* FROM `cf_form_entry_values` WHERE (`cf_form_entry_values`.`value` LIKE %josh@calderawp.com%)";
$entryValues = $this->entryValuesGeneratorFactory();
$generator = $entryValues->queryByFieldValue('email_address', 'josh@calderawp.com', 'like');
$this->assertTrue($this->isAEntryValues($generator));
$actualSql = $entryValues->getPreparedSql();
}
/**
* Test query by entry id
*
* @covers \calderawp\CalderaFormsQuery\Select\EntryValues::queryByFieldValue()
*/
public function testQueryByEntryId()
{
$expectedSql = "SELECT `cf_form_entry_values`.* FROM `cf_form_entry_values` WHERE (`cf_form_entry_values`.`entry_id` = '42')";
$entryValues = $this->entryValuesGeneratorFactory();
$this->assertTrue($this->isAEntryValues($generator));
$actualSql = $entryValues->getPreparedSql();
}
/**
* @param $generator
* @return bool
*/
protected function isAEntryValues($generator)
{
return is_a($generator, '\calderawp\CalderaFormsQuery\Select\EntryValues');
}