Newer
Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
<?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();
$this->assertEquals( $expectedSql, $actualSql );
}
/**
* 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();
$this->assertEquals( $expectedSql, $actualSql );
}
/**
* 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();
$this->assertEquals( $expectedSql, $actualSql );
}
/**
* 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();
$generator = $entryValues->queryByEntryId( 42 );
$this->assertTrue($this->isAEntryValues($generator));
$actualSql = $entryValues->getPreparedSql();
$this->assertEquals( $expectedSql, $actualSql );
}
/**
* @param $generator
* @return bool
*/
protected function isAEntryValues($generator)
{
return is_a($generator, '\calderawp\CalderaFormsQuery\Select\EntryValues');
}
}