@Test public void favelists_api_should_get_master_list() { String listName = "hababi"; String songId = "radSongId"; Hashtag hashtag = new Hashtag(listName, "Joan d'Arc"); List<FaveItem> faveItems = new ArrayList<>(); faveItems.add(new FaveItem("This", "be", songId)); hashtag.setList(faveItems); ofy().save().entity(hashtag).now(); List<FaveItem> masterList = FaveListsApi.getMasterFaveList(listName, ListMode.USERS).getItems(); assertThat(masterList.size()).isEqualTo(1); assertThat(masterList).extracting("songID").contains(songId); }
@Test public void favelists_api_should_not_get_any_list_names_with_less_than_ten_items() { String listName = "list"; Hashtag hashtag = new Hashtag(listName, "Raggaz"); List<FaveItem> faveItems = new ArrayList<>(); for (int i = 0; i < FaveListsApi.QUALITY_LIST_SIZE - 1; i++) { faveItems.add(new FaveItem("just", "under", "limit")); } hashtag.setList(faveItems); ofy().save().entity(hashtag).now(); List<StringResult> listNames = FaveListsApi.getListNames().getItems(); assertEquals(0, listNames.size()); assertThat(listNames.size()).isEqualTo(0); }
@Test public void favelists_api_should_get_all_list_names_with_at_least_ten_items() { String list1 = "list1"; String list2 = "list2"; Hashtag hashtag1 = new Hashtag(list1, "whocares"); Hashtag hashtag2 = new Hashtag(list2, "notme"); List<FaveItem> faveItems = new ArrayList<>(); for (int i = 0; i < FaveListsApi.QUALITY_LIST_SIZE; i++) { faveItems.add(new FaveItem("really", "doesn't", "matter")); } hashtag1.setList(faveItems); hashtag2.setList(faveItems); ofy().save().entities(hashtag1, hashtag2).now(); List<StringResult> listNames = FaveListsApi.getListNames().getItems(); assertThat(listNames.size()).isEqualTo(2); assertThat(listNames).extracting("value").contains(list1, list2); }