Bugzilla – Attachment 188847 Details for
Bug 39320
Create a 'landing page' for ERM
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 39320: (QA follow-up): Fix cypress
c4f1a8b.patch (text/plain), 20.52 KB, created by
Tomás Cohen Arazi (tcohen)
on 2025-10-31 18:22:10 UTC
(
hide
)
Description:
Bug 39320: (QA follow-up): Fix cypress
Filename:
MIME Type:
Creator:
Tomás Cohen Arazi (tcohen)
Created:
2025-10-31 18:22:10 UTC
Size:
20.52 KB
patch
obsolete
>From c4f1a8bb9e1a42ba6d932365bcb3f2307f98d679 Mon Sep 17 00:00:00 2001 >From: Pedro Amorim <pedro.amorim@openfifth.co.uk> >Date: Fri, 17 Oct 2025 15:04:13 +0000 >Subject: [PATCH] Bug 39320: (QA follow-up): Fix cypress >MIME-Version: 1.0 >Content-Type: text/plain; charset=UTF-8 >Content-Transfer-Encoding: 8bit > >These tests have always passed for me running cypress on UI, before and after this patch. >CLI tests however, were flaky and often times failed. >It appears this is because each module refresh was flooding the server with HTTP requests causing the whole thing to bottleneck (?) >With this patch, all widget requests are stubbed for every widget test, and tests now pass on CLI consistently. Passed 10/10 for me, whereas before it failed more often than passed. > >Run this: >for i in {1..10}; do cypress run --spec t/cypress/integration/ERM/ModuleDashboard_spec.ts; done > >Signed-off-by: Tomás Cohen Arazi <tomascohen@theke.io> >--- > .../integration/ERM/ModuleDashboard_spec.ts | 169 +++++++++--------- > t/cypress/support/e2e.js | 11 ++ > 2 files changed, 100 insertions(+), 80 deletions(-) > >diff --git a/t/cypress/integration/ERM/ModuleDashboard_spec.ts b/t/cypress/integration/ERM/ModuleDashboard_spec.ts >index 91d6e9ca53c..4a9f4d5de6e 100644 >--- a/t/cypress/integration/ERM/ModuleDashboard_spec.ts >+++ b/t/cypress/integration/ERM/ModuleDashboard_spec.ts >@@ -7,9 +7,6 @@ describe("ERM Module Dashboard", () => { > "/api/v1/erm/config", > '{"settings":{"ERMModule":"1","ERMProviders":["local"]}}' > ); >- }); >- >- it("Counts", () => { > cy.intercept("GET", "/api/v1/erm/counts", { > counts: { > agreements_count: 1, >@@ -20,6 +17,84 @@ describe("ERM Module Dashboard", () => { > usage_data_providers_count: 1, > }, > }).as("getCounts"); >+ >+ cy.intercept( >+ "GET", >+ "/api/v1/erm/default_usage_reports", >+ cy.get_eusage_reports() >+ ).as("getReports"); >+ >+ cy.intercept("GET", "/api/v1/erm/licenses*", [cy.get_license()]).as( >+ "getLicenses" >+ ); >+ >+ cy.intercept("GET", "/api/v1/jobs*", [ >+ { >+ context: { >+ branch: "CPL", >+ branchname: "Centerville", >+ cardnumber: "42", >+ desk_id: null, >+ desk_name: null, >+ emailaddress: null, >+ firstname: null, >+ flags: "1", >+ id: "koha", >+ interface: "api", >+ number: "51", >+ register_id: null, >+ register_name: null, >+ shibboleth: "0", >+ surname: "koha", >+ }, >+ data: { >+ begin_date: "2025-01-01", >+ end_date: "2025-03-12", >+ messages: [ >+ { >+ code: 2010, >+ message: >+ "Error - Requestor is Not Authorized to Access Usage for Institution", >+ type: "error", >+ }, >+ ], >+ report: { >+ report_type: "PR", >+ ud_provider_id: 1, >+ ud_provider_name: "Wiley Online Library", >+ us_report_info: { >+ added_mus: 0, >+ added_usage_objects: 0, >+ added_yus: 0, >+ skipped_mus: 0, >+ skipped_yus: 0, >+ }, >+ }, >+ report_type: "PR", >+ ud_provider_id: 1, >+ ud_provider_name: "Wiley Online Library", >+ }, >+ ended_date: "2025-03-11T16:56:07+00:00", >+ enqueued_date: "2025-03-11T16:56:06+00:00", >+ job_id: 1, >+ patron_id: "51", >+ progress: "0", >+ queue: "long_tasks", >+ size: "1", >+ started_date: "2025-03-11T16:56:06+00:00", >+ status: "finished", >+ type: "erm_sushi_harvester", >+ }, >+ ]).as("getJobs"); >+ >+ let av_cat_values = cy.get_ERM_av_cats_values(); >+ cy.intercept("GET", "/api/v1/authorised_value_categories*", { >+ statusCode: 200, >+ body: av_cat_values, >+ }).as("get-ERM-av-cats-values"); >+ }); >+ >+ it("Counts", () => { > cy.visit("/cgi-bin/koha/erm/erm.pl"); > > //Display >@@ -98,9 +173,9 @@ describe("ERM Module Dashboard", () => { > .should("have.id", "ERMCounts"); > }); > >- it("Run eUsage report", () => { >+ it("Run eUsage report empty", () => { > cy.intercept("GET", "/api/v1/erm/default_usage_reports", []).as( >- "getReports" >+ "emptyReports" > ); > cy.visit("/cgi-bin/koha/erm/erm.pl"); > >@@ -109,7 +184,7 @@ describe("ERM Module Dashboard", () => { > "contain", > "Loading..." > ); >- cy.wait("@getReports"); >+ cy.wait("@emptyReports"); > cy.get(".widget#ERMRunUsageReport .widget-content").should( > "contain", > "No saved eUsage reports are available to run." >@@ -118,20 +193,11 @@ describe("ERM Module Dashboard", () => { > .find("a") > .should("have.attr", "href", "/cgi-bin/koha/erm/eusage/reports") > .contains("Create a report"); >+ }); > >- let reports = [ >- { >- erm_default_usage_report_id: 3, >- report_name: "new", >- report_url_params: >- '{"url":"/api/v1/erm/eUsage/monthly_report/database?q=[{\\"erm_usage_muses.year\\":2020,\\"erm_usage_muses.report_type\\":\\"DR\\",\\"erm_usage_muses.month\\":[1,2,3,4,5,6,7,8,9,10,11,12],\\"erm_usage_muses.metric_type\\":[\\"Searches_Automated\\",\\"Searches_Federated\\",\\"Searches_Regular\\",\\"Total_Item_Investigations\\",\\"Total_Item_Requests\\",\\"Unique_Item_Investigations\\",\\"Unique_Item_Requests\\",\\"Unique_Title_Investigations\\",\\"Unique_Title_Requests\\",\\"Limit_Exceeded\\",\\"No_License\\"]},{\\"erm_usage_muses.year\\":2021,\\"erm_usage_muses.report_type\\":\\"DR\\",\\"erm_usage_muses.month\\":[1,2,3,4,5,6,7,8,9,10,11,12],\\"erm_usage_muses.metric_type\\":[\\"Searches_Automated\\",\\"Searches_Federated\\",\\"Searches_Regular\\",\\"Total_Item_Investigations\\",\\"Total_Item_Requests\\",\\"Unique_Item_Investigations\\",\\"Unique_Item_Requests\\",\\"Unique_Title_Investigations\\",\\"Unique_Title_Requests\\",\\"Limit_Exceeded\\",\\"No_License\\"]},{\\"erm_usage_muses.year\\":2022,\\"erm_usage_muses.report_type\\":\\"DR\\",\\"erm_usage_muses.month\\":[1,2,3,4,5,6,7,8,9,10,11,12],\\"erm_usage_muses.metric_type\\":[\\"Searches_Automated\\",\\"Searches_Federated\\",\\"Searches_Regular\\",\\"Total_Item_Investigations\\",\\"Total_Item_Requests\\",\\"Unique_Item_Investigations\\",\\"Unique_Item_Requests\\",\\"Unique_Title_Investigations\\",\\"Unique_Title_Requests\\",\\"Limit_Exceeded\\",\\"No_License\\"]},{\\"erm_usage_muses.year\\":2023,\\"erm_usage_muses.report_type\\":\\"DR\\",\\"erm_usage_muses.month\\":[1,2,3,4,5,6,7,8,9,10,11,12],\\"erm_usage_muses.metric_type\\":[\\"Searches_Automated\\",\\"Searches_Federated\\",\\"Searches_Regular\\",\\"Total_Item_Investigations\\",\\"Total_Item_Requests\\",\\"Unique_Item_Investigations\\",\\"Unique_Item_Requests\\",\\"Unique_Title_Investigations\\",\\"Unique_Title_Requests\\",\\"Limit_Exceeded\\",\\"No_License\\"]}]","columns":[1],"queryObject":{"data_display":"monthly","report_type":"DR","metric_types":["Searches_Automated","Searches_Federated","Searches_Regular","Total_Item_Investigations","Total_Item_Requests","Unique_Item_Investigations","Unique_Item_Requests","Unique_Title_Investigations","Unique_Title_Requests","Limit_Exceeded","No_License"],"access_types":null,"usage_data_providers":null,"keywords":null,"start_month":null,"start_year":"2020","end_month":null,"end_year":"2023"},"yearly_filter":true,"type":"monthly","tp_columns":{"2020":[{"short":"Jan","description":"January","value":1,"active":true},{"short":"Feb","description":"February","value":2,"active":true},{"short":"Mar","description":"March","value":3,"active":true},{"short":"Apr","description":"April","value":4,"active":true},{"short":"May","description":"May","value":5,"active":true},{"short":"Jun","description":"June","value":6,"active":true},{"short":"Jul","description":"July","value":7,"active":true},{"short":"Aug","description":"August","value":8,"active":true},{"short":"Sep","description":"September","value":9,"active":true},{"short":"Oct","description":"October","value":10,"active":true},{"short":"Nov","description":"November","value":11,"active":true},{"short":"Dec","description":"December","value":12,"active":true}],"2021":[{"short":"Jan","description":"January","value":1,"active":true},{"short":"Feb","description":"February","value":2,"active":true},{"short":"Mar","description":"March","value":3,"active":true},{"short":"Apr","description":"April","value":4,"active":true},{"short":"May","description":"May","value":5,"active":true},{"short":"Jun","description":"June","value":6,"active":true},{"short":"Jul","description":"July","value":7,"active":true},{"short":"Aug","description":"August","value":8,"active":true},{"short":"Sep","description":"September","value":9,"active":true},{"short":"Oct","description":"October","value":10,"active":true},{"short":"Nov","description":"November","value":11,"active":true},{"short":"Dec","description":"December","value":12,"active":true}],"2022":[{"short":"Jan","description":"January","value":1,"active":true},{"short":"Feb","description":"February","value":2,"active":true},{"short":"Mar","description":"March","value":3,"active":true},{"short":"Apr","description":"April","value":4,"active":true},{"short":"May","description":"May","value":5,"active":true},{"short":"Jun","description":"June","value":6,"active":true},{"short":"Jul","description":"July","value":7,"active":true},{"short":"Aug","description":"August","value":8,"active":true},{"short":"Sep","description":"September","value":9,"active":true},{"short":"Oct","description":"October","value":10,"active":true},{"short":"Nov","description":"November","value":11,"active":true},{"short":"Dec","description":"December","value":12,"active":true}],"2023":[{"short":"Jan","description":"January","value":1,"active":true},{"short":"Feb","description":"February","value":2,"active":true},{"short":"Mar","description":"March","value":3,"active":true},{"short":"Apr","description":"April","value":4,"active":true},{"short":"May","description":"May","value":5,"active":true},{"short":"Jun","description":"June","value":6,"active":true},{"short":"Jul","description":"July","value":7,"active":true},{"short":"Aug","description":"August","value":8,"active":true},{"short":"Sep","description":"September","value":9,"active":true},{"short":"Oct","description":"October","value":10,"active":true},{"short":"Nov","description":"November","value":11,"active":true},{"short":"Dec","description":"December","value":12,"active":true}]}}', >- }, >- ]; >- >- cy.intercept("GET", "/api/v1/erm/default_usage_reports", reports).as( >- "getReports" >- ); >+ it("Run eUsage report: exists", () => { > cy.visit("/cgi-bin/koha/erm/erm.pl"); >+ cy.wait("@getReports"); > > cy.get(".widget#ERMRunUsageReport .widget-content") > .find(".v-select") >@@ -156,7 +222,11 @@ describe("ERM Module Dashboard", () => { > ).click(); > cy.url().should("match", /erm\/eusage\/reports\/viewer/); > >- cy.intercept("GET", "/api/v1/erm/default_usage_reports", reports); >+ cy.intercept( >+ "GET", >+ "/api/v1/erm/default_usage_reports", >+ cy.get_eusage_reports() >+ ); > cy.visit("/cgi-bin/koha/erm/erm.pl"); > > //Move >@@ -196,9 +266,6 @@ describe("ERM Module Dashboard", () => { > }); > > it("Licenses needing action", () => { >- cy.intercept("GET", "/api/v1/erm/licenses*", [cy.get_license()]).as( >- "getLicenses" >- ); > cy.visit("/cgi-bin/koha/erm/erm.pl"); > > //Display >@@ -268,64 +335,6 @@ describe("ERM Module Dashboard", () => { > }); > > it("Latest SUSHI Counter jobs", () => { >- cy.intercept("GET", "/api/v1/jobs*", [ >- { >- context: { >- branch: "CPL", >- branchname: "Centerville", >- cardnumber: "42", >- desk_id: null, >- desk_name: null, >- emailaddress: null, >- firstname: null, >- flags: "1", >- id: "koha", >- interface: "api", >- number: "51", >- register_id: null, >- register_name: null, >- shibboleth: "0", >- surname: "koha", >- }, >- data: { >- begin_date: "2025-01-01", >- end_date: "2025-03-12", >- messages: [ >- { >- code: 2010, >- message: >- "Error - Requestor is Not Authorized to Access Usage for Institution", >- type: "error", >- }, >- ], >- report: { >- report_type: "PR", >- ud_provider_id: 1, >- ud_provider_name: "Wiley Online Library", >- us_report_info: { >- added_mus: 0, >- added_usage_objects: 0, >- added_yus: 0, >- skipped_mus: 0, >- skipped_yus: 0, >- }, >- }, >- report_type: "PR", >- ud_provider_id: 1, >- ud_provider_name: "Wiley Online Library", >- }, >- ended_date: "2025-03-11T16:56:07+00:00", >- enqueued_date: "2025-03-11T16:56:06+00:00", >- job_id: 1, >- patron_id: "51", >- progress: "0", >- queue: "long_tasks", >- size: "1", >- started_date: "2025-03-11T16:56:06+00:00", >- status: "finished", >- type: "erm_sushi_harvester", >- }, >- ]).as("getJobs"); > cy.visit("/cgi-bin/koha/erm/erm.pl"); > > //Display >diff --git a/t/cypress/support/e2e.js b/t/cypress/support/e2e.js >index e0e8ca57673..2567bdb26a1 100644 >--- a/t/cypress/support/e2e.js >+++ b/t/cypress/support/e2e.js >@@ -1857,6 +1857,17 @@ cy.getSushiService = () => { > }; > }; > >+cy.get_eusage_reports = () => { >+ return [ >+ { >+ erm_default_usage_report_id: 3, >+ report_name: "new", >+ report_url_params: >+ '{"url":"/api/v1/erm/eUsage/monthly_report/database?q=[{\\"erm_usage_muses.year\\":2020,\\"erm_usage_muses.report_type\\":\\"DR\\",\\"erm_usage_muses.month\\":[1,2,3,4,5,6,7,8,9,10,11,12],\\"erm_usage_muses.metric_type\\":[\\"Searches_Automated\\",\\"Searches_Federated\\",\\"Searches_Regular\\",\\"Total_Item_Investigations\\",\\"Total_Item_Requests\\",\\"Unique_Item_Investigations\\",\\"Unique_Item_Requests\\",\\"Unique_Title_Investigations\\",\\"Unique_Title_Requests\\",\\"Limit_Exceeded\\",\\"No_License\\"]},{\\"erm_usage_muses.year\\":2021,\\"erm_usage_muses.report_type\\":\\"DR\\",\\"erm_usage_muses.month\\":[1,2,3,4,5,6,7,8,9,10,11,12],\\"erm_usage_muses.metric_type\\":[\\"Searches_Automated\\",\\"Searches_Federated\\",\\"Searches_Regular\\",\\"Total_Item_Investigations\\",\\"Total_Item_Requests\\",\\"Unique_Item_Investigations\\",\\"Unique_Item_Requests\\",\\"Unique_Title_Investigations\\",\\"Unique_Title_Requests\\",\\"Limit_Exceeded\\",\\"No_License\\"]},{\\"erm_usage_muses.year\\":2022,\\"erm_usage_muses.report_type\\":\\"DR\\",\\"erm_usage_muses.month\\":[1,2,3,4,5,6,7,8,9,10,11,12],\\"erm_usage_muses.metric_type\\":[\\"Searches_Automated\\",\\"Searches_Federated\\",\\"Searches_Regular\\",\\"Total_Item_Investigations\\",\\"Total_Item_Requests\\",\\"Unique_Item_Investigations\\",\\"Unique_Item_Requests\\",\\"Unique_Title_Investigations\\",\\"Unique_Title_Requests\\",\\"Limit_Exceeded\\",\\"No_License\\"]},{\\"erm_usage_muses.year\\":2023,\\"erm_usage_muses.report_type\\":\\"DR\\",\\"erm_usage_muses.month\\":[1,2,3,4,5,6,7,8,9,10,11,12],\\"erm_usage_muses.metric_type\\":[\\"Searches_Automated\\",\\"Searches_Federated\\",\\"Searches_Regular\\",\\"Total_Item_Investigations\\",\\"Total_Item_Requests\\",\\"Unique_Item_Investigations\\",\\"Unique_Item_Requests\\",\\"Unique_Title_Investigations\\",\\"Unique_Title_Requests\\",\\"Limit_Exceeded\\",\\"No_License\\"]}]","columns":[1],"queryObject":{"data_display":"monthly","report_type":"DR","metric_types":["Searches_Automated","Searches_Federated","Searches_Regular","Total_Item_Investigations","Total_Item_Requests","Unique_Item_Investigations","Unique_Item_Requests","Unique_Title_Investigations","Unique_Title_Requests","Limit_Exceeded","No_License"],"access_types":null,"usage_data_providers":null,"keywords":null,"start_month":null,"start_year":"2020","end_month":null,"end_year":"2023"},"yearly_filter":true,"type":"monthly","tp_columns":{"2020":[{"short":"Jan","description":"January","value":1,"active":true},{"short":"Feb","description":"February","value":2,"active":true},{"short":"Mar","description":"March","value":3,"active":true},{"short":"Apr","description":"April","value":4,"active":true},{"short":"May","description":"May","value":5,"active":true},{"short":"Jun","description":"June","value":6,"active":true},{"short":"Jul","description":"July","value":7,"active":true},{"short":"Aug","description":"August","value":8,"active":true},{"short":"Sep","description":"September","value":9,"active":true},{"short":"Oct","description":"October","value":10,"active":true},{"short":"Nov","description":"November","value":11,"active":true},{"short":"Dec","description":"December","value":12,"active":true}],"2021":[{"short":"Jan","description":"January","value":1,"active":true},{"short":"Feb","description":"February","value":2,"active":true},{"short":"Mar","description":"March","value":3,"active":true},{"short":"Apr","description":"April","value":4,"active":true},{"short":"May","description":"May","value":5,"active":true},{"short":"Jun","description":"June","value":6,"active":true},{"short":"Jul","description":"July","value":7,"active":true},{"short":"Aug","description":"August","value":8,"active":true},{"short":"Sep","description":"September","value":9,"active":true},{"short":"Oct","description":"October","value":10,"active":true},{"short":"Nov","description":"November","value":11,"active":true},{"short":"Dec","description":"December","value":12,"active":true}],"2022":[{"short":"Jan","description":"January","value":1,"active":true},{"short":"Feb","description":"February","value":2,"active":true},{"short":"Mar","description":"March","value":3,"active":true},{"short":"Apr","description":"April","value":4,"active":true},{"short":"May","description":"May","value":5,"active":true},{"short":"Jun","description":"June","value":6,"active":true},{"short":"Jul","description":"July","value":7,"active":true},{"short":"Aug","description":"August","value":8,"active":true},{"short":"Sep","description":"September","value":9,"active":true},{"short":"Oct","description":"October","value":10,"active":true},{"short":"Nov","description":"November","value":11,"active":true},{"short":"Dec","description":"December","value":12,"active":true}],"2023":[{"short":"Jan","description":"January","value":1,"active":true},{"short":"Feb","description":"February","value":2,"active":true},{"short":"Mar","description":"March","value":3,"active":true},{"short":"Apr","description":"April","value":4,"active":true},{"short":"May","description":"May","value":5,"active":true},{"short":"Jun","description":"June","value":6,"active":true},{"short":"Jul","description":"July","value":7,"active":true},{"short":"Aug","description":"August","value":8,"active":true},{"short":"Sep","description":"September","value":9,"active":true},{"short":"Oct","description":"October","value":10,"active":true},{"short":"Nov","description":"November","value":11,"active":true},{"short":"Dec","description":"December","value":12,"active":true}]}}', >+ }, >+ ]; >+}; >+ > cy.getVendor = () => { > return { > accountnumber: "69823", >-- >2.51.2
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
|
Splinter Review
Attachments on
bug 39320
:
187513
|
187514
|
187515
|
187516
|
187517
|
187518
|
187519
|
187520
|
187521
|
187522
|
187563
|
187568
|
187635
|
187636
|
187637
|
187638
|
187639
|
187640
|
187641
|
187642
|
187643
|
187644
|
187645
|
188094
|
188095
|
188096
|
188097
|
188098
|
188099
|
188100
|
188101
|
188102
|
188103
|
188104
|
188151
|
188279
|
188280
|
188281
|
188282
|
188283
|
188284
|
188285
|
188312
|
188315
|
188372
|
188375
|
188376
|
188637
|
188638
|
188639
|
188640
|
188641
|
188830
|
188831
|
188832
|
188833
|
188834
|
188835
|
188836
|
188837
|
188838
|
188839
|
188840
|
188841
|
188842
|
188843
|
188844
|
188845
|
188846
| 188847 |
188848
|
188849
|
188850
|
188851
|
188852
|
188853
|
188854
|
188855
|
188856
|
188857
|
188858
|
188859
|
188860
|
188861
|
188862
|
188863
|
188864