33import me .proxer .library .ProxerTest ;
44import me .proxer .library .api .ProxerException ;
55import me .proxer .library .entity .list .MediaListEntry ;
6- import me .proxer .library .enums .FskConstraint ;
7- import me .proxer .library .enums .Genre ;
8- import me .proxer .library .enums .Language ;
9- import me .proxer .library .enums .LengthBound ;
10- import me .proxer .library .enums .MediaLanguage ;
11- import me .proxer .library .enums .MediaSearchSortCriteria ;
12- import me .proxer .library .enums .MediaState ;
13- import me .proxer .library .enums .MediaType ;
14- import me .proxer .library .enums .Medium ;
15- import me .proxer .library .enums .TagRateFilter ;
16- import me .proxer .library .enums .TagSpoilerFilter ;
6+ import me .proxer .library .enums .*;
177import okhttp3 .mockwebserver .MockResponse ;
188import org .junit .Test ;
199
@@ -50,10 +40,10 @@ public void testPath() throws ProxerException, IOException, InterruptedException
5040 .name ("test" )
5141 .limit (10 )
5242 .page (3 )
53- .genres (EnumSet .of (Genre .ADULT , Genre .ACTION ))
54- .excludedGenres (EnumSet .of (Genre .DRAMA , Genre .FANTASY ))
5543 .tags (new HashSet <>(Arrays .asList ("3" , "7" )))
5644 .excludedTags (new HashSet <>(Arrays .asList ("5" , "20" )))
45+ .genreTags (new HashSet <>(Arrays .asList ("22" , "33" )))
46+ .excludedGenreTags (new HashSet <>(Arrays .asList ("13" , "17" )))
5747 .fskConstraints (EnumSet .of (FskConstraint .FEAR ))
5848 .language (Language .ENGLISH )
5949 .length (300 )
@@ -66,9 +56,8 @@ public void testPath() throws ProxerException, IOException, InterruptedException
6656 .execute ();
6757
6858 assertThat (server .takeRequest ().getPath ()).isEqualTo ("/api/v1/list/entrysearch?name=test&language=en&"
69- + "type=all-manga&genre=Action%2BAdult&nogenre=Drama%2BFantasy&fsk=fear&sort=clicks&length=300&"
70- + "length-limit=down&tags=3%2B7¬ags=5%2B20&tagratefilter=rate_1&"
71- + "tagspoilerfilter=spoiler_1&p=3&limit=10" );
59+ + "type=all-manga&fsk=fear&sort=clicks&length=300&length-limit=down&tags=3%2B7¬ags=5%2B20&"
60+ + "taggenre=22%2B33¬aggenre=13%2B17&tagratefilter=rate_1&tagspoilerfilter=spoiler_1&p=3&limit=10" );
7261 }
7362
7463 @ Test
@@ -97,6 +86,32 @@ public void testExcludedTagsNull() throws Exception {
9786 assertThat (server .takeRequest ().getPath ()).isEqualTo ("/api/v1/list/entrysearch" );
9887 }
9988
89+ @ Test
90+ public void testGenreTagsNull () throws Exception {
91+ server .enqueue (new MockResponse ().setBody (fromResource ("media_list_entry.json" )));
92+
93+ api .list ().mediaSearch ()
94+ .genreTags (new HashSet <>(Arrays .asList ("3" , "7" )))
95+ .genreTags (null )
96+ .build ()
97+ .execute ();
98+
99+ assertThat (server .takeRequest ().getPath ()).isEqualTo ("/api/v1/list/entrysearch" );
100+ }
101+
102+ @ Test
103+ public void testExcludedGenreTagsNull () throws Exception {
104+ server .enqueue (new MockResponse ().setBody (fromResource ("media_list_entry.json" )));
105+
106+ api .list ().mediaSearch ()
107+ .excludedGenreTags (new HashSet <>(Arrays .asList ("5" , "20" )))
108+ .excludedGenreTags (null )
109+ .build ()
110+ .execute ();
111+
112+ assertThat (server .takeRequest ().getPath ()).isEqualTo ("/api/v1/list/entrysearch" );
113+ }
114+
100115 private MediaListEntry buildTestEntry () {
101116 return new MediaListEntry ("3637" , "+ A Channel" , EnumSet .of (Genre .COMEDY , Genre .SCHOOL ),
102117 Medium .OVA , 11 , MediaState .FINISHED , 774 , 115 ,
0 commit comments