@@ -27,7 +27,7 @@ public function setUp() {
27
27
$ this ->fetch_response = new Response (200 , [], $ fetch );
28
28
}
29
29
30
- public function testUpdateConflict () {
30
+ public function testUpdate () {
31
31
$ update = '{"ok":true,"id":"abcde12345","rev":"2-74a0465bd6e3ea40a1a3752b93916762"} ' ;
32
32
$ update_response = new Response (200 , [], $ update );
33
33
@@ -55,7 +55,7 @@ public function testUpdateConflict() {
55
55
/**
56
56
* @expectedException \PHPCouchDB\Exception\DocumentConflictException
57
57
*/
58
- public function testUpdate () {
58
+ public function testUpdateConflict () {
59
59
$ update = '{"error":"conflict","reason":"Document update conflict."} ' ;;
60
60
$ update_response = new Response (409 , [], $ update );
61
61
@@ -72,4 +72,47 @@ public function testUpdate() {
72
72
$ newdoc = $ doc ->update ();
73
73
}
74
74
75
+ public function testDelete () {
76
+ $ delete = '{"ok":true,"id":"abcde12345","rev":"2-74a0465bd6e3ea40a1a3752b93916762"} ' ;
77
+ $ delete_response = new Response (200 , [], $ delete );
78
+
79
+ $ fetch3 = '{"error":"not_found","reason":"deleted"} ' ;
80
+ $ fetch_response3 = new Response (404 , [], $ fetch3 );
81
+
82
+ $ mock = new MockHandler ([ $ this ->db_response , $ this ->use_response , $ this ->create_response , $ this ->fetch_response , $ delete_response , $ fetch_response3 ]);
83
+ $ handler = HandlerStack::create ($ mock );
84
+ $ client = new Client (['handler ' => $ handler ]);
85
+
86
+ // userland code starts
87
+ $ server = new \PHPCouchDB \Server (["client " => $ client ]);
88
+ $ database = $ server ->useDB (["name " => "egdb " ]);
89
+ $ doc = $ database ->create (["noise " => "howl " , "id " => "abcde12345 " ]);
90
+
91
+ $ result = $ doc ->delete ();
92
+ $ this ->assertEquals (true , $ result );
93
+
94
+ // should be able to delete an already-deleted doc without errors
95
+
96
+ $ result = $ doc ->delete ();
97
+ $ this ->assertEquals (true , $ result );
98
+ }
99
+
100
+ /**
101
+ * @expectedException \PHPCouchDB\Exception\DocumentConflictException
102
+ */
103
+ public function testDeleteConflict () {
104
+ $ delete = '{"error":"conflict","reason":"Document update conflict."} ' ;
105
+ $ delete_response = new Response (409 , [], $ delete );
106
+
107
+ $ mock = new MockHandler ([ $ this ->db_response , $ this ->use_response , $ this ->create_response , $ this ->fetch_response , $ delete_response ]);
108
+ $ handler = HandlerStack::create ($ mock );
109
+ $ client = new Client (['handler ' => $ handler ]);
110
+
111
+ // userland code starts
112
+ $ server = new \PHPCouchDB \Server (["client " => $ client ]);
113
+ $ database = $ server ->useDB (["name " => "egdb " ]);
114
+ $ doc = $ database ->create (["noise " => "howl " , "id " => "abcde12345 " ]);
115
+
116
+ $ result = $ doc ->delete ();
117
+ }
75
118
}
0 commit comments