1010import com .crowdin .client .tasks .model .*;
1111import com .crowdin .client .tasks .model .pending .CreateEnterprisePendingTaskRequest ;
1212import com .crowdin .client .tasks .model .pending .CreatePendingTaskRequest ;
13+ import lombok .SneakyThrows ;
1314import org .apache .http .client .methods .HttpDelete ;
1415import org .apache .http .client .methods .HttpGet ;
1516import org .apache .http .client .methods .HttpPatch ;
1920import java .util .*;
2021
2122import static java .util .Collections .singletonList ;
22- import static org .junit .jupiter .api .Assertions .assertEquals ;
23- import static org .junit .jupiter .api .Assertions .assertTrue ;
23+ import static org .junit .jupiter .api .Assertions .* ;
24+ import static org .junit .jupiter .api .Assertions .assertNotNull ;
2425
2526public class TasksApiTest extends TestClient {
2627
2728 private final Long projectId = 12L ;
2829 private final Long enterpriseProjectId = 13L ;
2930 private final Long multiStatusProjectId = 14L ;
31+ private final Long singleStatusProjectId = 15L ;
3032 private final Long taskId = 2L ;
3133 private final Long prevTaskId = 1L ;
3234 private final Status status = Status .TODO ;
@@ -50,37 +52,41 @@ public List<RequestMock> getMocks() {
5052 RequestMock .build (this .url + "/user/tasks/" + taskId , HttpPatch .METHOD_NAME , "api/tasks/editTask.json" , "api/tasks/task.json" ),
5153 RequestMock .build (this .url + "/projects/" + multiStatusProjectId + "/tasks" , HttpGet .METHOD_NAME , "api/tasks/multiStatusListTasks.json" , new HashMap <String , String >() {{
5254 put ("status" , "todo,done" );
55+ }}),
56+ RequestMock .build (this .url + "/projects/" + singleStatusProjectId + "/tasks" , HttpGet .METHOD_NAME , "api/tasks/singleStatusListTasks.json" , new HashMap <String , String >() {{
57+ put ("status" , "in_progress" );
5358 }})
5459 );
5560 }
5661
5762 @ Test
5863 public void listTasksTest () {
59- Assignee assignee = new Assignee ();
60- assignee .setId (1L );
61- assignee .setUsername ("john_smith" );
62- assignee .setFullName ("john_smith" );
63- assignee .setAvatarUrl ("" );
64- assignee .setWordsCount (5 );
65- assignee .setWordsLeft (3 );
6664 TimeZone .setDefault (TimeZone .getTimeZone ("GMT" ));
6765 ResponseList <Task > taskResponseList = this .getTasksApi ().listTasks (projectId , null , null , null , null );
68- assertEquals (taskResponseList .getData ().size (), 1 );
69- assertEquals (taskResponseList .getData ().get (0 ).getData ().getId (), taskId );
70- assertEquals (taskResponseList .getData ().get (0 ).getData ().getStatus (), status );
71- assertEquals (new Date (119 , Calendar .SEPTEMBER ,27 ,7 ,0 ,14 ), taskResponseList .getData ().get (0 ).getData ().getDeadline ());
72- assertEquals (taskResponseList .getData ().get (0 ).getData ().getAssignees ().get (0 ), assignee );
66+
67+ assertNotNull (taskResponseList .getData ().get (0 ).getData ());
68+ assertEquals (1 , taskResponseList .getData ().size ());
69+
70+ assertEquals (projectId , taskResponseList .getData ().get (0 ).getData ().getProjectId ());
71+
72+ assertListTasks (taskResponseList );
73+ }
74+
75+ @ Test
76+ public void listTasksTest_testSingleStatus () {
77+ TimeZone .setDefault (TimeZone .getTimeZone ("GMT" ));
78+ ResponseList <Task > taskResponseList = this .getTasksApi ().listTasks (singleStatusProjectId , null , null , Status .IN_PROGRESS , null );
79+
80+ assertNotNull (taskResponseList .getData ().get (0 ).getData ());
81+ assertEquals (1 , taskResponseList .getData ().size ());
82+ assertEquals (singleStatusProjectId , taskResponseList .getData ().get (0 ).getData ().getProjectId ());
83+ assertEquals (Status .IN_PROGRESS , taskResponseList .getData ().get (0 ).getData ().getStatus ());
84+
85+ assertListTasks (taskResponseList );
7386 }
7487
7588 @ Test
7689 public void listTasksTest_multipleStatuses () {
77- Assignee assignee = new Assignee ();
78- assignee .setId (1L );
79- assignee .setUsername ("john_smith" );
80- assignee .setFullName ("john_smith" );
81- assignee .setAvatarUrl ("" );
82- assignee .setWordsCount (5 );
83- assignee .setWordsLeft (3 );
8490 TimeZone .setDefault (TimeZone .getTimeZone ("GMT" ));
8591
8692 EnumSet <Status > statuses = EnumSet .of (Status .TODO , Status .DONE );
@@ -90,15 +96,14 @@ public void listTasksTest_multipleStatuses() {
9096
9197 ResponseList <Task > taskResponseList = this .getTasksApi ().listTasks (multiStatusProjectId , listTasksParams );
9298
99+ assertNotNull (taskResponseList .getData ().get (0 ).getData ());
93100 assertEquals (1 , taskResponseList .getData ().size ());
94- assertEquals (taskId , taskResponseList .getData ().get (0 ).getData ().getId ());
95101 assertEquals (multiStatusProjectId , taskResponseList .getData ().get (0 ).getData ().getProjectId ());
96102
97103 Status responseProjectStatus = taskResponseList .getData ().get (0 ).getData ().getStatus ();
98104 assertTrue (statuses .contains (responseProjectStatus ));
99105
100- assertEquals (new Date (119 , Calendar .SEPTEMBER ,27 ,7 ,0 ,14 ), taskResponseList .getData ().get (0 ).getData ().getDeadline ());
101- assertEquals (taskResponseList .getData ().get (0 ).getData ().getAssignees ().get (0 ), assignee );
106+ assertListTasks (taskResponseList );
102107 }
103108
104109 @ Test
@@ -300,4 +305,21 @@ public void editUserTaskTest() {
300305 assertEquals (taskResponseObject .getData ().getId (), taskId );
301306 assertEquals (taskResponseObject .getData ().getStatus (), status );
302307 }
308+
309+ //<editor-fold desc="Common method for listTasks assertion">
310+ @ SneakyThrows
311+ private void assertListTasks (ResponseList <Task > taskResponseList ) {
312+ Assignee assignee = new Assignee ();
313+ assignee .setId (1L );
314+ assignee .setUsername ("john_smith" );
315+ assignee .setFullName ("john_smith" );
316+ assignee .setAvatarUrl ("" );
317+ assignee .setWordsCount (5 );
318+ assignee .setWordsLeft (3 );
319+
320+ assertEquals (taskId , taskResponseList .getData ().get (0 ).getData ().getId ());
321+ assertEquals (new Date (119 , Calendar .SEPTEMBER ,27 ,7 ,0 ,14 ), taskResponseList .getData ().get (0 ).getData ().getDeadline ());
322+ assertEquals (assignee , taskResponseList .getData ().get (0 ).getData ().getAssignees ().get (0 ));
323+ }
324+ //</editor-fold>
303325}
0 commit comments