|
@@ -939,4 +939,25 @@ class TestV1_2 extends \JKingWeb\Arsse\Test\AbstractTest {
|
939
|
939
|
]);
|
940
|
940
|
$this->assertMessage($exp, $act);
|
941
|
941
|
}
|
|
942
|
+
|
|
943
|
+ public function testPreferJsonOverQueryParameters() {
|
|
944
|
+ $in = ['name' => "Software"];
|
|
945
|
+ $url = "/folders?name=Hardware";
|
|
946
|
+ $out1 = ['id' => 1, 'name' => "Software"];
|
|
947
|
+ $out2 = ['id' => 2, 'name' => "Hardware"];
|
|
948
|
+ Phake::when(Arsse::$db)->folderAdd($this->anything(), $this->anything())->thenReturn(2);
|
|
949
|
+ Phake::when(Arsse::$db)->folderAdd($this->anything(), $in)->thenReturn(1);
|
|
950
|
+ Phake::when(Arsse::$db)->folderPropertiesGet(Arsse::$user->id, 1)->thenReturn($this->v($out1));
|
|
951
|
+ Phake::when(Arsse::$db)->folderPropertiesGet(Arsse::$user->id, 2)->thenReturn($this->v($out2));
|
|
952
|
+ $exp = new Response(['folders' => [$out1]]);
|
|
953
|
+ $this->assertMessage($exp, $this->req("POST", "/folders?name=Hardware", json_encode($in)));
|
|
954
|
+ }
|
|
955
|
+
|
|
956
|
+ public function testMeldJsonAndQueryParameters() {
|
|
957
|
+ $in = ['oldestFirst' => true];
|
|
958
|
+ $url = "/items?type=2";
|
|
959
|
+ Phake::when(Arsse::$db)->articleList->thenReturn(new Result([]));
|
|
960
|
+ $this->req("GET", $url, json_encode($in));
|
|
961
|
+ Phake::verify(Arsse::$db)->articleList(Arsse::$user->id, (new Context)->reverse(false)->starred(true), Database::LIST_TYPICAL);
|
|
962
|
+ }
|
942
|
963
|
}
|