summaryrefslogtreecommitdiff
path: root/modules/gallery/tests/Items_Rest_Helper_Test.php
diff options
context:
space:
mode:
authorTim Almdal <tnalmdal@shaw.ca>2010-05-10 06:31:38 -0700
committerTim Almdal <tnalmdal@shaw.ca>2010-05-15 23:43:25 -0700
commit83ce637ce3171a012515b2e20e8592d22e9929f8 (patch)
tree00427995dccfa171843928a1e1df7f389138f596 /modules/gallery/tests/Items_Rest_Helper_Test.php
parent48b66f2d675bf204b62909721cb398ceb0e2bd01 (diff)
Allow the use of the type query parameter to filter the results of a rest/gallery/items?urls=... request. This allows the client to pass the entire list of member urls and have the rest server filter the results based on the specified types.
(cherry picked from commit 3fe10b15cf9359b66452c24965df575203e8af8e)
Diffstat (limited to 'modules/gallery/tests/Items_Rest_Helper_Test.php')
-rw-r--r--modules/gallery/tests/Items_Rest_Helper_Test.php85
1 files changed, 85 insertions, 0 deletions
diff --git a/modules/gallery/tests/Items_Rest_Helper_Test.php b/modules/gallery/tests/Items_Rest_Helper_Test.php
index cd01ae0c..94bf912a 100644
--- a/modules/gallery/tests/Items_Rest_Helper_Test.php
+++ b/modules/gallery/tests/Items_Rest_Helper_Test.php
@@ -50,6 +50,91 @@ class Items_Rest_Helper_Test extends Gallery_Unit_Test_Case {
items_rest::get($request));
}
+ public function get_url_filter_album_test() {
+ $album1 = test::random_album();
+ $photo1 = test::random_photo($album1);
+ $album2 = test::random_album($album1);
+ $photo2 = test::random_photo($album2);
+ $album1->reload();
+ $album2->reload();
+
+ $request = new stdClass();
+ $request->params = new stdClass();
+ $request->params->urls = json_encode(array(
+ rest::url("item", $photo1),
+ rest::url("item", $album2)));
+ $request->params->type = "album";
+ $this->assert_equal_array(
+ array(
+ array("url" => rest::url("item", $album2),
+ "entity" => $album2->as_restful_array(),
+ "relationships" => array(
+ "tags" => array(
+ "url" => rest::url("item_tags", $album2),
+ "members" => array())),
+ "members" => array(
+ rest::url("item", $photo2)))),
+ items_rest::get($request));
+ }
+
+ public function get_url_filter_photo_test() {
+ $album1 = test::random_album();
+ $photo1 = test::random_photo($album1);
+ $album2 = test::random_album($album1);
+ $photo2 = test::random_photo($album2);
+ $album1->reload();
+ $album2->reload();
+
+ $request = new stdClass();
+ $request->params = new stdClass();
+ $request->params->urls = json_encode(array(
+ rest::url("item", $photo1),
+ rest::url("item", $album2)));
+ $request->params->type = "photo";
+ $this->assert_equal_array(
+ array(
+ array("url" => rest::url("item", $photo1),
+ "entity" => $photo1->as_restful_array(),
+ "relationships" => array(
+ "tags" => array(
+ "url" => rest::url("item_tags", $photo1),
+ "members" => array())))),
+ items_rest::get($request));
+ }
+
+ public function get_url_filter_albums_photos_test() {
+ $album1 = test::random_album();
+ $photo1 = test::random_photo($album1);
+ $album2 = test::random_album($album1);
+ $photo2 = test::random_photo($album2);
+ $album1->reload();
+ $album2->reload();
+
+ $request = new stdClass();
+ $request->params = new stdClass();
+ $request->params->urls = json_encode(array(
+ rest::url("item", $photo1),
+ rest::url("item", $album2)));
+ $request->params->type = "photo,album";
+ $this->assert_equal_array(
+ array(
+ array("url" => rest::url("item", $photo1),
+ "entity" => $photo1->as_restful_array(),
+ "relationships" => array(
+ "tags" => array(
+ "url" => rest::url("item_tags", $photo1),
+ "members" => array()))),
+ array("url" => rest::url("item", $album2),
+ "entity" => $album2->as_restful_array(),
+ "relationships" => array(
+ "tags" => array(
+ "url" => rest::url("item_tags", $album2),
+ "members" => array())),
+ "members" => array(
+ rest::url("item", $photo2)))),
+ items_rest::get($request));
+ }
+
public function get_ancestor_test() {
$album1 = test::random_album();
$photo1 = test::random_photo($album1);