6
6
import io .qameta .allure .Story ;
7
7
import io .restassured .response .Response ;
8
8
import org .ays .common .model .payload .AysOrder ;
9
- import org .ays .common .model .payload .AysPageable ;
10
- import org .ays .payload .Filter ;
11
- import org .ays .payload .RequestBodyInstitution ;
12
9
import org .ays .registrationapplication .endpoints .AdminRegistrationApplicationEndpoints ;
10
+ import org .ays .registrationapplication .model .enums .AdminRegistrationApplicationStatus ;
11
+ import org .ays .registrationapplication .model .payload .AdminRegistrationApplicationListPayload ;
13
12
import org .ays .utility .AysResponseSpecs ;
14
- import org .testng .annotations .BeforeMethod ;
15
- import org .testng .annotations .DataProvider ;
16
13
import org .testng .annotations .Test ;
17
14
18
- import java .util .ArrayList ;
19
15
import java .util .List ;
20
16
21
17
import static org .hamcrest .Matchers .containsString ;
22
18
import static org .hamcrest .Matchers .notNullValue ;
23
19
import static org .hamcrest .Matchers .nullValue ;
24
20
25
21
public class PostAdminRegistrationApplicationsTest {
26
- RequestBodyInstitution requestBodyInstitution ;
27
- AysPageable pageable ;
28
- Filter filter ;
29
- AysOrder orders ;
30
-
31
- @ BeforeMethod (alwaysRun = true )
32
- public void setup () {
33
- requestBodyInstitution = new RequestBodyInstitution ();
34
- pageable = new AysPageable ();
35
- filter = new Filter ();
36
- orders = new AysOrder ();
37
- }
38
22
39
23
@ Test (groups = {"Smoke" , "Regression" , "SuperAdmin" })
40
24
@ Story ("As a super admin I want to list administrator registration applications with request to pagination" )
41
25
@ Severity (SeverityLevel .NORMAL )
42
26
public void postRegistrationApplicationsWithPagination () {
43
- pageable .setPage (1 );
44
- pageable .setPageSize (10 );
45
- requestBodyInstitution .setPageable (pageable );
46
-
47
-
48
- Response response = AdminRegistrationApplicationEndpoints .postRegistrationApplications (requestBodyInstitution );
27
+ AdminRegistrationApplicationListPayload applicationListPayload = AdminRegistrationApplicationListPayload
28
+ .generate ();
29
+ Response response = AdminRegistrationApplicationEndpoints .postRegistrationApplications (applicationListPayload );
49
30
response .then ()
50
31
.spec (AysResponseSpecs .expectSuccessResponseSpec ())
51
32
.body ("response.content" , notNullValue ())
@@ -56,12 +37,11 @@ public void postRegistrationApplicationsWithPagination() {
56
37
@ Story ("As a super admin I want to get proper error message when I request to pagination with invalid data" )
57
38
@ Severity (SeverityLevel .NORMAL )
58
39
public void postRegistrationApplicationsWithPaginationNegative (int page , int pageSize ) {
59
- pageable .setPage (page );
60
- pageable .setPageSize (pageSize );
61
- requestBodyInstitution .setPageable (pageable );
62
-
63
-
64
- Response response = AdminRegistrationApplicationEndpoints .postRegistrationApplications (requestBodyInstitution );
40
+ AdminRegistrationApplicationListPayload applicationListPayload = AdminRegistrationApplicationListPayload
41
+ .generate ();
42
+ applicationListPayload .getPageable ().setPage (page );
43
+ applicationListPayload .getPageable ().setPageSize (pageSize );
44
+ Response response = AdminRegistrationApplicationEndpoints .postRegistrationApplications (applicationListPayload );
65
45
response .then ()
66
46
.spec (AysResponseSpecs .expectBadRequestResponseSpec ())
67
47
.body ("subErrors[0].message" , containsString ("must be between 1 and 99999999" ));
@@ -71,16 +51,10 @@ public void postRegistrationApplicationsWithPaginationNegative(int page, int pag
71
51
@ Story ("As a super admin I want to list administrator registration applications with request to pagination and filter" )
72
52
@ Severity (SeverityLevel .NORMAL )
73
53
public void postRegistrationApplicationsWithPaginationAndFilter () {
74
- pageable .setPage (1 );
75
- pageable .setPageSize (10 );
76
- requestBodyInstitution .setPageable (pageable );
77
-
78
- List <String > newStatuses = new ArrayList <>();
79
- newStatuses .add ("WAITING" );
80
- filter .setStatuses (newStatuses );
81
- requestBodyInstitution .setFilter (filter );
82
-
83
- Response response = AdminRegistrationApplicationEndpoints .postRegistrationApplications (requestBodyInstitution );
54
+ AdminRegistrationApplicationListPayload applicationListPayload = AdminRegistrationApplicationListPayload
55
+ .generate ();
56
+ applicationListPayload .getFilter ().setStatuses (List .of (AdminRegistrationApplicationStatus .WAITING ));
57
+ Response response = AdminRegistrationApplicationEndpoints .postRegistrationApplications (applicationListPayload );
84
58
response .then ()
85
59
.spec (AysResponseSpecs .expectSuccessResponseSpec ())
86
60
.body ("response.content" , notNullValue ())
@@ -93,14 +67,10 @@ public void postRegistrationApplicationsWithPaginationAndFilter() {
93
67
@ Severity (SeverityLevel .NORMAL )
94
68
@ Description ("Pagination and filter with invalid statuses value" )
95
69
public void postRegistrationApplicationsWithPaginationAndFilterNegative () {
96
- pageable .setPage (1 );
97
- pageable .setPageSize (10 );
98
- requestBodyInstitution .setPageable (pageable );
99
- List <String > statuses = new ArrayList <>();
100
- statuses .add ("WAIT" );
101
- filter .setStatuses (statuses );
102
- requestBodyInstitution .setFilter (filter );
103
- Response response = AdminRegistrationApplicationEndpoints .postRegistrationApplications (requestBodyInstitution );
70
+ AdminRegistrationApplicationListPayload applicationListPayload = AdminRegistrationApplicationListPayload
71
+ .generate ();
72
+ applicationListPayload .getFilter ().setStatuses (List .of (AdminRegistrationApplicationStatus .WAITING ));
73
+ Response response = AdminRegistrationApplicationEndpoints .postRegistrationApplications (applicationListPayload );
104
74
response .then ()
105
75
.spec (AysResponseSpecs .expectBadRequestResponseSpec ());
106
76
}
@@ -110,17 +80,11 @@ public void postRegistrationApplicationsWithPaginationAndFilterNegative() {
110
80
@ Severity (SeverityLevel .NORMAL )
111
81
@ Description ("Pagination and sort with Authorization" )
112
82
public void postRegistrationApplicationsWithPaginationAndSort () {
113
- pageable .setPage (1 );
114
- pageable .setPageSize (10 );
115
- requestBodyInstitution .setPageable (pageable );
116
-
117
- orders .setProperty ("createdAt" );
118
- orders .setDirection ("ASC" );
119
- List <AysOrder > newOrders = new ArrayList <>();
120
- newOrders .add (orders );
121
- requestBodyInstitution .setOrders (newOrders );
122
-
123
- Response response = AdminRegistrationApplicationEndpoints .postRegistrationApplications (requestBodyInstitution );
83
+ AdminRegistrationApplicationListPayload applicationListPayload = AdminRegistrationApplicationListPayload
84
+ .generate ();
85
+ List <AysOrder > orders = AysOrder .generate ("createdAt" , "ASC" );
86
+ applicationListPayload .getPageable ().setOrders (orders );
87
+ Response response = AdminRegistrationApplicationEndpoints .postRegistrationApplications (applicationListPayload );
124
88
response .then ()
125
89
.spec (AysResponseSpecs .expectSuccessResponseSpec ())
126
90
.body ("response.content" , notNullValue ())
@@ -133,17 +97,11 @@ public void postRegistrationApplicationsWithPaginationAndSort() {
133
97
@ Severity (SeverityLevel .NORMAL )
134
98
@ Description ("Pagination and invalid sort value with Authorization" )
135
99
public void postRegistrationApplicationsWithPaginationAndInvalidSort () {
136
- pageable .setPage (1 );
137
- pageable .setPageSize (10 );
138
- requestBodyInstitution .setPageable (pageable );
139
-
140
- orders .setProperty ("created" );
141
- orders .setDirection ("ASC" );
142
- List <AysOrder > newOrders = new ArrayList <>();
143
- newOrders .add (orders );
144
- requestBodyInstitution .setOrders (newOrders );
145
-
146
- Response response = AdminRegistrationApplicationEndpoints .postRegistrationApplications (requestBodyInstitution );
100
+ AdminRegistrationApplicationListPayload applicationListPayload = AdminRegistrationApplicationListPayload
101
+ .generate ();
102
+ List <AysOrder > orders = AysOrder .generate ("createdAt" , "ASC" );
103
+ applicationListPayload .getPageable ().setOrders (orders );
104
+ Response response = AdminRegistrationApplicationEndpoints .postRegistrationApplications (applicationListPayload );
147
105
response .then ()
148
106
.spec (AysResponseSpecs .expectBadRequestResponseSpec ());
149
107
}
@@ -153,22 +111,12 @@ public void postRegistrationApplicationsWithPaginationAndInvalidSort() {
153
111
@ Severity (SeverityLevel .NORMAL )
154
112
@ Description ("Pagination,sort and filter with Authorization" )
155
113
public void postRegistrationApplicationsWithPaginationSortFilter () {
156
- pageable .setPage (1 );
157
- pageable .setPageSize (10 );
158
- requestBodyInstitution .setPageable (pageable );
159
-
160
- List <String > statuses = new ArrayList <>();
161
- statuses .add ("WAITING" );
162
- filter .setStatuses (statuses );
163
- requestBodyInstitution .setFilter (filter );
164
-
165
- orders .setProperty ("createdAt" );
166
- orders .setDirection ("ASC" );
167
- List <AysOrder > newOrders = new ArrayList <>();
168
- newOrders .add (orders );
169
- requestBodyInstitution .setOrders (newOrders );
170
-
171
- Response response = AdminRegistrationApplicationEndpoints .postRegistrationApplications (requestBodyInstitution );
114
+ AdminRegistrationApplicationListPayload applicationListPayload = AdminRegistrationApplicationListPayload
115
+ .generate ();
116
+ applicationListPayload .getFilter ().setStatuses (List .of (AdminRegistrationApplicationStatus .WAITING ));
117
+ List <AysOrder > orders = AysOrder .generate ("createdAt" , "ASC" );
118
+ applicationListPayload .getPageable ().setOrders (orders );
119
+ Response response = AdminRegistrationApplicationEndpoints .postRegistrationApplications (applicationListPayload );
172
120
response .then ()
173
121
.spec (AysResponseSpecs .expectSuccessResponseSpec ())
174
122
.body ("response.content" , notNullValue ())
@@ -181,36 +129,14 @@ public void postRegistrationApplicationsWithPaginationSortFilter() {
181
129
@ Severity (SeverityLevel .NORMAL )
182
130
@ Description ("Pagination,invalid sort and invalid filter with Authorization" )
183
131
public void postRegistrationApplicationsWithPaginationInvalidSortInvalidFilter () {
184
- pageable .setPage (1 );
185
- pageable .setPageSize (10 );
186
- requestBodyInstitution .setPageable (pageable );
187
-
188
- List <String > statuses = new ArrayList <>();
189
- statuses .add ("WAIT" );
190
- filter .setStatuses (statuses );
191
- requestBodyInstitution .setFilter (filter );
192
-
193
- orders .setProperty ("" );
194
- orders .setDirection ("ASC" );
195
- List <AysOrder > newOrders = new ArrayList <>();
196
- newOrders .add (orders );
197
- requestBodyInstitution .setOrders (newOrders );
198
-
199
- Response response = AdminRegistrationApplicationEndpoints .postRegistrationApplications (requestBodyInstitution );
132
+ AdminRegistrationApplicationListPayload applicationListPayload = AdminRegistrationApplicationListPayload
133
+ .generate ();
134
+ applicationListPayload .getFilter ().setStatuses (List .of (AdminRegistrationApplicationStatus .WAITING ));
135
+ List <AysOrder > orders = AysOrder .generate ("" , "ASC" );
136
+ applicationListPayload .getPageable ().setOrders (orders );
137
+ Response response = AdminRegistrationApplicationEndpoints .postRegistrationApplications (applicationListPayload );
200
138
response .then ()
201
139
.spec (AysResponseSpecs .expectBadRequestResponseSpec ());
202
140
}
203
141
204
-
205
- @ DataProvider (name = "paginationScenarios" ) //ARMS_03, ARMS_04, ARMS_05
206
- public Object [][] paginationScenarios () {
207
- return new Object [][]{
208
- {0 , 10 },
209
- {1 , 0 },
210
- {-1 , 10 },
211
- {1 , -1 },
212
- {-1 , -1 }
213
- };
214
-
215
- }
216
142
}
0 commit comments