|
Lines 164-188
describe("Agreement CRUD operations", () => {
Link Here
|
| 164 |
cy.intercept("GET", "/api/v1/erm/agreements/*", agreement); |
164 |
cy.intercept("GET", "/api/v1/erm/agreements/*", agreement); |
| 165 |
cy.visit("/cgi-bin/koha/erm/agreements"); |
165 |
cy.visit("/cgi-bin/koha/erm/agreements"); |
| 166 |
cy.get("#agreements_list").contains("Showing 1 to 1 of 1 entries"); |
166 |
cy.get("#agreements_list").contains("Showing 1 to 1 of 1 entries"); |
| 167 |
cy.get(".filters").find("label").should(($labels) => { |
167 |
cy.get(".filters") |
| 168 |
expect($labels).to.have.length(2) |
168 |
.find("label") |
| 169 |
expect($labels.eq(0)).to.contain('Filter by expired') |
169 |
.should($labels => { |
| 170 |
expect($labels.eq(1)).to.contain('Show mine only') |
170 |
expect($labels).to.have.length(2); |
| 171 |
}); // Filter options appear |
171 |
expect($labels.eq(0)).to.contain("Filter by expired"); |
|
|
172 |
expect($labels.eq(1)).to.contain("Show mine only"); |
| 173 |
}); // Filter options appear |
| 172 |
|
174 |
|
| 173 |
// Test filtering |
175 |
// Test filtering |
| 174 |
cy.intercept("GET", "/api/v1/erm/agreements?max_expiration_date=*", []).as("getActiveAgreements"); |
176 |
cy.intercept( |
|
|
177 |
"GET", |
| 178 |
"/api/v1/erm/agreements?max_expiration_date=*", |
| 179 |
[] |
| 180 |
).as("getActiveAgreements"); |
| 175 |
cy.get("#expired_filter").check(); |
181 |
cy.get("#expired_filter").check(); |
| 176 |
cy.get("#filter_table").click(); |
182 |
cy.get("#filter_table").click(); |
| 177 |
cy.wait('@getActiveAgreements') |
183 |
cy.wait("@getActiveAgreements") |
| 178 |
.its('request.url') |
184 |
.its("request.url") |
| 179 |
.should('include', 'max_expiration_date='+dates["today_iso"]); // Defaults to today |
185 |
.should("include", "max_expiration_date=" + dates["today_iso"]); // Defaults to today |
| 180 |
cy.get("#max_expiration_date_filter").should("have.value", dates["today_iso"]); // Input box reflects default |
186 |
cy.get("#max_expiration_date_filter").should( |
| 181 |
cy.url().should('include', "/cgi-bin/koha/erm/agreements?by_expired=true&max_expiration_date="+dates["today_iso"]); // Browser url also updated |
187 |
"have.value", |
|
|
188 |
dates["today_iso"] |
| 189 |
); // Input box reflects default |
| 190 |
cy.url().should( |
| 191 |
"include", |
| 192 |
"/cgi-bin/koha/erm/agreements?by_expired=true&max_expiration_date=" + |
| 193 |
dates["today_iso"] |
| 194 |
); // Browser url also updated |
| 182 |
|
195 |
|
| 183 |
// Now test that the url for this particular state works |
196 |
// Now test that the url for this particular state works |
| 184 |
cy.visit("/cgi-bin/koha/erm/agreements?by_expired=true&max_expiration_date="+dates["today_iso"]); |
197 |
cy.visit( |
| 185 |
cy.wait('@getActiveAgreements').its('request.url').should('include', 'max_expiration_date='+dates["today_iso"]); |
198 |
"/cgi-bin/koha/erm/agreements?by_expired=true&max_expiration_date=" + |
|
|
199 |
dates["today_iso"] |
| 200 |
); |
| 201 |
cy.wait("@getActiveAgreements") |
| 202 |
.its("request.url") |
| 203 |
.should("include", "max_expiration_date=" + dates["today_iso"]); |
| 186 |
|
204 |
|
| 187 |
// Now test with a user entered date |
205 |
// Now test with a user entered date |
| 188 |
cy.get("#max_expiration_date_filter+input").click({ force: true }); |
206 |
cy.get("#max_expiration_date_filter+input").click({ force: true }); |
|
Lines 192-211
describe("Agreement CRUD operations", () => {
Link Here
|
| 192 |
.next("span") |
210 |
.next("span") |
| 193 |
.click(); // select tomorrow |
211 |
.click(); // select tomorrow |
| 194 |
cy.get("#filter_table").click(); |
212 |
cy.get("#filter_table").click(); |
| 195 |
cy.wait('@getActiveAgreements').its('request.url').should('include', 'max_expiration_date='+dates["tomorrow_iso"]); |
213 |
cy.wait("@getActiveAgreements") |
| 196 |
cy.get("#max_expiration_date_filter").should("have.value", dates["tomorrow_iso"]); |
214 |
.its("request.url") |
|
|
215 |
.should("include", "max_expiration_date=" + dates["tomorrow_iso"]); |
| 216 |
cy.get("#max_expiration_date_filter").should( |
| 217 |
"have.value", |
| 218 |
dates["tomorrow_iso"] |
| 219 |
); |
| 197 |
// Assert that browser url changed again to reflect the user entered date |
220 |
// Assert that browser url changed again to reflect the user entered date |
| 198 |
cy.url().should('include', "/cgi-bin/koha/erm/agreements?by_expired=true&max_expiration_date="+dates["tomorrow_iso"]); |
221 |
cy.url().should( |
|
|
222 |
"include", |
| 223 |
"/cgi-bin/koha/erm/agreements?by_expired=true&max_expiration_date=" + |
| 224 |
dates["tomorrow_iso"] |
| 225 |
); |
| 199 |
|
226 |
|
| 200 |
// Now test that the url for the updated state works |
227 |
// Now test that the url for the updated state works |
| 201 |
cy.visit("/cgi-bin/koha/erm/agreements?by_expired=true&max_expiration_date="+dates["tomorrow_iso"]); |
228 |
cy.visit( |
| 202 |
cy.wait('@getActiveAgreements').its('request.url').should('include', 'max_expiration_date='+dates["tomorrow_iso"]); |
229 |
"/cgi-bin/koha/erm/agreements?by_expired=true&max_expiration_date=" + |
|
|
230 |
dates["tomorrow_iso"] |
| 231 |
); |
| 232 |
cy.wait("@getActiveAgreements") |
| 233 |
.its("request.url") |
| 234 |
.should("include", "max_expiration_date=" + dates["tomorrow_iso"]); |
| 203 |
|
235 |
|
| 204 |
// Verify that the date input is automatically filled if "by_expired" ticked but date is empty |
236 |
// Verify that the date input is automatically filled if "by_expired" ticked but date is empty |
| 205 |
cy.get("#max_expiration_date_filter+input").clear(); |
237 |
cy.get("#max_expiration_date_filter+input").clear(); |
| 206 |
cy.get("#expired_filter").check(); |
238 |
cy.get("#expired_filter").check(); |
| 207 |
cy.get("#filter_table").click(); |
239 |
cy.get("#filter_table").click(); |
| 208 |
cy.get("#max_expiration_date_filter").should('have.value', dates["today_iso"]); |
240 |
cy.get("#max_expiration_date_filter").should( |
|
|
241 |
"have.value", |
| 242 |
dates["today_iso"] |
| 243 |
); |
| 209 |
|
244 |
|
| 210 |
// Test filter button with show mine_only ticked |
245 |
// Test filter button with show mine_only ticked |
| 211 |
}); |
246 |
}); |