Newer
Older
<?php
namespace calderawp\CalderaFormsQuery\Tests\Integration\Delete;
use calderawp\CalderaFormsQuery\Delete\Entry;
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
use calderawp\CalderaFormsQuery\Delete\EntryValues;
use calderawp\CalderaFormsQuery\Tests\Integration\IntegrationTestCase;
use calderawp\CalderaFormsQuery\Tests\Traits\CanCreateEntryWithEmailField;
class EntryValuesTest extends IntegrationTestCase
{
use CanCreateEntryWithEmailField;
/**
* Test deleting by entry ID
*
* @covers EntryValues::deleteByEntryId()
*/
public function testDeleteByEntryId()
{
//Save an entry
$entry = $this->createEntryWithMockForm();
$entryId = $entry['id'];
//SQL to count entries
$entryValuesQueryGenerator = $this->entryValuesGeneratorFactory();
$entryValuesQueryGenerator->queryByEntryId($entryId);
$sql = $entryValuesQueryGenerator->getPreparedSql();
//We have four values -- four fields saved.
$results = $this->queryWithWPDB($sql);
$this->assertTrue( ! empty( $results ));
$this->assertSame( 4, count( $results ) );
//Delete entry
$this->queryWithWPDB(
$this
->entryValuesDeleteGeneratorFactory()
->deleteByEntryId($entryId)
->getPreparedSql()
);
//We have no values -- all fields saved.
$results = $this->queryWithWPDB($sql);
$this->assertSame( 0, count( $results ) );
}
/**
* Test deleting when field value equals something
*
* @covers EntryValues::deleteByFieldValue()
*/
public function testDeleteByFieldValueEquals()
{
$entryId = $this->createEntryWithEmail( 'roy@roysivan.com' );
//Delete entry
$this->queryWithWPDB(
$this
->entryValuesDeleteGeneratorFactory()
->deleteByFieldValue(
$this->getEmailFieldSlug(),
'roy@roysivan.com'
)
->getPreparedSql()
);
//We have no values for this field -- all fields saved.
$entryValuesQueryGenerator = $this->entryValuesGeneratorFactory();
$entryValuesQueryGenerator->queryByFieldValue(
$this->getEmailFieldSlug(),
'roy@roysivan.com'
);
$sql = $entryValuesQueryGenerator->getPreparedSql();
$results = $this->queryWithWPDB($sql);
$this->assertSame( 0, count( $results ) );
}
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
/**
*
*
* @covers EntryValues::deleteByEntryIds()
*/
public function testDeleteByEntryIds()
{
$entryIdOne = $this->createEntryWithMockFormAndGetEntryId();
$entryIdTwo = $this->createEntryWithMockFormAndGetEntryId();
$entryIdThree = $this->createEntryWithMockFormAndGetEntryId();
//Delete entry one and three
$sql = $this
->entryValuesDeleteGeneratorFactory()
->deleteByEntryIds([$entryIdOne,$entryIdThree])
->getPreparedSql();
$this->queryWithWPDB($sql);
//No results for entry One
$entryValuesQueryGenerator = $this->entryValuesGeneratorFactory();
$entryValuesQueryGenerator->queryByEntryId($entryIdOne);
$sql = $entryValuesQueryGenerator->getPreparedSql();
$results = $this->queryWithWPDB($sql);
$this->assertSame( 0, count( $results ) );
//Results for entry Two
$entryValuesQueryGenerator = $this->entryValuesGeneratorFactory();
$entryValuesQueryGenerator->queryByEntryId($entryIdTwo);
$sql = $entryValuesQueryGenerator->getPreparedSql();
$results = $this->queryWithWPDB($sql);
$this->assertTrue( 0 < count( $results ) );
}