Bugzilla – Attachment 180802 Details for
Bug 39606
Cover Bug 39294 with a cypress test
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
Bug 39606: Add a cypress test
Bug-39606-Add-a-cypress-test.patch (text/plain), 11.21 KB, created by
Lucas Gass (lukeg)
on 2025-04-10 22:09:21 UTC
(
hide
)
Description:
Bug 39606: Add a cypress test
Filename:
MIME Type:
Creator:
Lucas Gass (lukeg)
Created:
2025-04-10 22:09:21 UTC
Size:
11.21 KB
patch
obsolete
>From 48bf1f34ab1ed92a2731febdea25ded8eeabd2b6 Mon Sep 17 00:00:00 2001 >From: Lucas Gass <lucas@bywatersolutions.com> >Date: Thu, 10 Apr 2025 22:07:10 +0000 >Subject: [PATCH] Bug 39606: Add a cypress test > >To test: >1. APPLY PATCH >2. cypress run --spec "t/cypress/integration/Tools/" >3. Tests should pass >--- > t/cypress/fixtures/sample.mrc | 175 ++++++++++++++++++ > .../Tools/ManageMarcImport_spec.ts | 95 ++++++++++ > 2 files changed, 270 insertions(+) > create mode 100644 t/cypress/fixtures/sample.mrc > create mode 100644 t/cypress/integration/Tools/ManageMarcImport_spec.ts > >diff --git a/t/cypress/fixtures/sample.mrc b/t/cypress/fixtures/sample.mrc >new file mode 100644 >index 00000000000..790a98f3d91 >--- /dev/null >+++ b/t/cypress/fixtures/sample.mrc >@@ -0,0 +1,175 @@ >+<?xml version="1.0" encoding="UTF-8"?> >+<record >+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >+ xsi:schemaLocation="http://www.loc.gov/MARC21/slim http://www.loc.gov/standards/marcxml/schema/MARC21slim.xsd" >+ xmlns="http://www.loc.gov/MARC21/slim"> >+ >+ <leader>01670nam a2200433Ii 4500</leader> >+ <controlfield tag="001">sky2ocm96738507</controlfield> >+ <controlfield tag="003">SKY</controlfield> >+ <controlfield tag="005">20241107145520.0</controlfield> >+ <controlfield tag="008">190604t20191985nyu 000 1 eng d</controlfield> >+ <datafield tag="020" ind1=" " ind2=" "> >+ <subfield code="a">9780593098271 (paperback)</subfield> >+ </datafield> >+ <datafield tag="040" ind1=" " ind2=" "> >+ <subfield code="a">OClCo</subfield> >+ <subfield code="b">eng</subfield> >+ <subfield code="e">rda</subfield> >+ <subfield code="c">OClCo</subfield> >+ </datafield> >+ <datafield tag="099" ind1=" " ind2=" "> >+ <subfield code="a">PBK HERBERT</subfield> >+ </datafield> >+ <datafield tag="100" ind1="1" ind2=" "> >+ <subfield code="a">Herbert, Frank,</subfield> >+ <subfield code="e">author.</subfield> >+ <subfield code="9">11964</subfield> >+ </datafield> >+ <datafield tag="245" ind1="1" ind2="0"> >+ <subfield code="a">Chapterhouse :</subfield> >+ <subfield code="b">Dune /</subfield> >+ <subfield code="c">Frank Herbert ; with an introduction by Brian Herbert.</subfield> >+ </datafield> >+ <datafield tag="246" ind1="3" ind2="0"> >+ <subfield code="a">Dune</subfield> >+ </datafield> >+ <datafield tag="250" ind1=" " ind2=" "> >+ <subfield code="a">Ace premium edition.</subfield> >+ </datafield> >+ <datafield tag="264" ind1=" " ind2="1"> >+ <subfield code="a">New York :</subfield> >+ <subfield code="b">Ace, published by Berkley,</subfield> >+ <subfield code="c">2019.</subfield> >+ </datafield> >+ <datafield tag="264" ind1=" " ind2="4"> >+ <subfield code="c">©1985.</subfield> >+ </datafield> >+ <datafield tag="300" ind1=" " ind2=" "> >+ <subfield code="a">xi, 609 pages ;</subfield> >+ <subfield code="c">19 cm.</subfield> >+ </datafield> >+ <datafield tag="336" ind1=" " ind2=" "> >+ <subfield code="a">text</subfield> >+ <subfield code="b">txt</subfield> >+ <subfield code="2">rdacontent</subfield> >+ </datafield> >+ <datafield tag="337" ind1=" " ind2=" "> >+ <subfield code="a">unmediated</subfield> >+ <subfield code="b">n</subfield> >+ <subfield code="2">rdamedia</subfield> >+ </datafield> >+ <datafield tag="338" ind1=" " ind2=" "> >+ <subfield code="a">volume</subfield> >+ <subfield code="b">nc</subfield> >+ <subfield code="2">rdacarrier</subfield> >+ </datafield> >+ <datafield tag="490" ind1="1" ind2=" "> >+ <subfield code="a">Dune chronicles ;</subfield> >+ <subfield code="v">Book Six</subfield> >+ </datafield> >+ <datafield tag="520" ind1=" " ind2=" "> >+ <subfield code="a">Fifteen thousand years after Leto II's death, the remnants of the Bene Gesserit contend with the ruthless leaders of an alien culture to forge a new civilization and preserve the best of the Old Empire.</subfield> >+ </datafield> >+ <datafield tag="526" ind1="0" ind2=" "> >+ <subfield code="a">Accelerated Reader AR</subfield> >+ <subfield code="b">UG</subfield> >+ <subfield code="c">5.4</subfield> >+ <subfield code="d">22</subfield> >+ <subfield code="z">79162.</subfield> >+ </datafield> >+ <datafield tag="586" ind1=" " ind2=" "> >+ <subfield code="a">Prometheus Award for Best Libertarian SF Novel (preliminary ballot)</subfield> >+ <subfield code="y">1986</subfield> >+ </datafield> >+ <datafield tag="650" ind1=" " ind2="0"> >+ <subfield code="a">Dune (Imaginary place)</subfield> >+ <subfield code="v">Fiction.</subfield> >+ <subfield code="9">217871</subfield> >+ </datafield> >+ <datafield tag="655" ind1=" " ind2="7"> >+ <subfield code="a">Survival fiction.</subfield> >+ <subfield code="2">lcgft</subfield> >+ <subfield code="9">1021</subfield> >+ </datafield> >+ <datafield tag="655" ind1=" " ind2="7"> >+ <subfield code="a">Science fiction.</subfield> >+ <subfield code="2">lcgft</subfield> >+ <subfield code="9">519</subfield> >+ </datafield> >+ <datafield tag="700" ind1="1" ind2=" "> >+ <subfield code="a">Herbert, Brian</subfield> >+ <subfield code="e">writer of introduction.</subfield> >+ <subfield code="9">22739</subfield> >+ </datafield> >+ <datafield tag="800" ind1="1" ind2=" "> >+ <subfield code="a">Herbert, Frank.</subfield> >+ <subfield code="t">Dune chronicles ;</subfield> >+ <subfield code="v">bk. 6.</subfield> >+ <subfield code="9">175318</subfield> >+ </datafield> >+ <datafield tag="907" ind1=" " ind2=" "> >+ <subfield code="a">.b114409079</subfield> >+ <subfield code="b">08-24-23</subfield> >+ <subfield code="c">04-11-19</subfield> >+ </datafield> >+ <datafield tag="902" ind1=" " ind2=" "> >+ <subfield code="a">MARCIVE Unico21e 8arc (UT8-8)</subfield> >+ </datafield> >+ <datafield tag="902" ind1=" " ind2=" "> >+ <subfield code="a">MARCIVE</subfield> >+ </datafield> >+ <datafield tag="902" ind1=" " ind2=" "> >+ <subfield code="a">MARCIVE</subfield> >+ </datafield> >+ <datafield tag="942" ind1=" " ind2=" "> >+ <subfield code="c">PBK</subfield> >+ <subfield code="0">8</subfield> >+ </datafield> >+ <datafield tag="998" ind1=" " ind2=" "> >+ <subfield code="a">46</subfield> >+ <subfield code="a">46a</subfield> >+ <subfield code="b">06-04-19</subfield> >+ <subfield code="c">m</subfield> >+ <subfield code="d">a</subfield> >+ <subfield code="e">-</subfield> >+ <subfield code="f">eng</subfield> >+ <subfield code="g">nyu</subfield> >+ <subfield code="h">0</subfield> >+ <subfield code="i">4</subfield> >+ </datafield> >+ <datafield tag="999" ind1=" " ind2=" "> >+ <subfield code="c">135034</subfield> >+ <subfield code="d">135034</subfield> >+ </datafield> >+ <datafield tag="985" ind1=" " ind2=" "> >+ <subfield code="a"></subfield> >+ <subfield code="b">727135</subfield> >+ </datafield> >+ <datafield tag="952" ind1=" " ind2=" "> >+ <subfield code="0">0</subfield> >+ <subfield code="1">4</subfield> >+ <subfield code="2">ddc</subfield> >+ <subfield code="4">0</subfield> >+ <subfield code="6">PBK_HERBERT</subfield> >+ <subfield code="7">0</subfield> >+ <subfield code="8">ADULT</subfield> >+ <subfield code="9">589309</subfield> >+ <subfield code="a">ADM</subfield> >+ <subfield code="b">NOL</subfield> >+ <subfield code="c">SCIFI</subfield> >+ <subfield code="d">2019-05-30</subfield> >+ <subfield code="f">-</subfield> >+ <subfield code="g">5.99</subfield> >+ <subfield code="i">.i223869399</subfield> >+ <subfield code="l">8</subfield> >+ <subfield code="m">8</subfield> >+ <subfield code="o">PBK HERBERT</subfield> >+ <subfield code="p">4005302326</subfield> >+ <subfield code="r">2023-09-05 00:00:00</subfield> >+ <subfield code="s">2023-08-09</subfield> >+ <subfield code="v">5.99</subfield> >+ <subfield code="w">2023-08-25</subfield> >+ <subfield code="y">PBK</subfield> >+ </datafield> >+</record> >diff --git a/t/cypress/integration/Tools/ManageMarcImport_spec.ts b/t/cypress/integration/Tools/ManageMarcImport_spec.ts >new file mode 100644 >index 00000000000..4141a99ff26 >--- /dev/null >+++ b/t/cypress/integration/Tools/ManageMarcImport_spec.ts >@@ -0,0 +1,95 @@ >+// File: t/cypress/integration/tools/ManageMarcImport_spec.ts >+ >+describe("Breadcrumb tests", () => { >+ beforeEach(() => { >+ cy.login(); >+ cy.title().should("eq", "Koha staff interface"); >+ }); >+ >+ it("Breadcrumbs", () => { >+ cy.visit("/cgi-bin/koha/cataloguing/cataloging-home.pl"); >+ cy.contains("Manage staged records").click(); >+ cy.get("#breadcrumbs").contains("Cataloging"); >+ }); >+}); >+ >+describe("loads the manage MARC import page", () => { >+ beforeEach(() => { >+ cy.login(); >+ cy.title().should("eq", "Koha staff interface"); >+ }); >+ >+ it("loads the manage MARC import page", () => { >+ cy.visit("/cgi-bin/koha/tools/manage-marc-import.pl"); >+ cy.contains("Manage staged MARC records").click(); >+ }); >+ >+ it("upload a MARC record", () => { >+ cy.visit("/cgi-bin/koha/tools/stage-marc-import.pl"); >+ >+ cy.get('input[type="file"]').selectFile( >+ "t/cypress/fixtures/sample.mrc" >+ ); >+ cy.get('form[id="uploadfile"]').within(() => { >+ cy.get('button[id="fileuploadbutton"]').click(); >+ }); >+ >+ //wait after file upload, it can go to quickly here >+ cy.wait(2000); >+ >+ //check default values >+ cy.get('select[name="matcher"] option:selected').should( >+ "have.value", >+ "" >+ ); >+ cy.get('select[name="overlay_action"] option:selected').should( >+ "have.value", >+ "replace" >+ ); >+ cy.get('select[name="nomatch_action"] option:selected').should( >+ "have.value", >+ "create_new" >+ ); >+ cy.get('select[name="item_action"] option:selected').should( >+ "have.value", >+ "always_add" >+ ); >+ >+ cy.get('select[name="format"]').select("MARCXML", { force: true }); >+ cy.get("#format").should("have.value", "MARCXML"); >+ >+ //select some new options >+ cy.get("#matcher").select("3", { force: true }); >+ cy.get("#overlay_action").select("create_new", { force: true }); >+ cy.get("#nomatch_action").select("ignore", { force: true }); >+ cy.get("#item_action").select("ignore", { force: true }); >+ >+ //remove focus >+ //cy.get('#item_action').blur(); >+ cy.screenshot("after_selection"); >+ >+ // Now verify all values >+ cy.get("#matcher").should("have.value", "3"); >+ cy.get("#overlay_action").should("have.value", "create_new"); >+ cy.get("#nomatch_action").should("have.value", "ignore"); >+ cy.get("#item_action").should("have.value", "ignore"); >+ >+ cy.screenshot("right_before_submission"); >+ cy.get("#mainformsubmit").click(); >+ >+ cy.get("#job_callback").should("exist"); >+ >+ //wait for View batch link to load with the batch ID >+ cy.wait(5000); >+ >+ cy.screenshot("after_waiting"); >+ cy.contains("View batch").click(); >+ >+ cy.wait(2000); >+ // Now verify all values are retained >+ cy.get("#new_matcher_id").should("have.value", "3"); >+ cy.get("#overlay_action").should("have.value", "create_new"); >+ cy.get("#nomatch_action").should("have.value", "ignore"); >+ cy.get("#item_action").should("have.value", "ignore"); >+ }); >+}); >-- >2.39.5
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 39606
:
180802
|
180888