From c6ffe49bff0a41046d4dd64d1f293f925b0f37e1 Mon Sep 17 00:00:00 2001 From: dakkar Date: Tue, 27 Dec 2016 16:34:27 +0000 Subject: mailstore: retrieve_ids_by_tags --- t/tests/sietima/mailstore.t | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) (limited to 't/tests') diff --git a/t/tests/sietima/mailstore.t b/t/tests/sietima/mailstore.t index b7991a5..c03fc1c 100644 --- a/t/tests/sietima/mailstore.t +++ b/t/tests/sietima/mailstore.t @@ -81,6 +81,36 @@ sub test_store($store) { ); }; + subtest 'retrieving ids by tag' => sub { + my $tag1 = $store->retrieve_ids_by_tags('tag1'); + is( + $tag1, + bag { item $stored_id{1}; item $stored_id{3}; end }, + 'tag1 should have ids 1 & 3', + ); + + my $tag2 = $store->retrieve_ids_by_tags('tag2'); + is( + $tag2, + bag { item $stored_id{1}; item $stored_id{2}; end }, + 'tag1 should have ids 1 & 2', + ); + + my $tag12 = $store->retrieve_ids_by_tags('tag2','tag1'); + is( + $tag12, + bag { item $stored_id{1}; end }, + 'tag1+tag2 should have id 1', + ); + + my $tag_all = $store->retrieve_ids_by_tags(); + is( + $tag_all, + bag { item $stored_id{1}; item $stored_id{2}; item $stored_id{3}; end }, + 'no tags should retrieve all ids', + ); + }; + subtest 'removing' => sub { $store->remove($stored_id{2}); is( -- cgit v1.2.3