Login

Screenshots for the Koha manual

New screenshots | All screenshots | Full test results | Manuals (wip)
en de el es fr hi zh_Hant

Image details

addpatronmsg (#1149) ❌ Not validated

Job

Difficulty

Spec (updated on Thu Aug 27 12:12:24 2026)

describe("patrons/addpatronmsg", function () {
    const languages = ['en', 'es-ES', 'fr-FR', 'de-DE', 'el-GR', 'hi', 'zh-Hant-TW'];
    languages.forEach((lang) => {
        describe(`in ${lang}`, () => {
            beforeEach(function(){
                // Skip if 'en' test failed
                if (Cypress.expose("EN_TEST_FAILED")) {
                    this.skip();
                }
                cy.set_syspref("ILLModule", "1");
                cy.set_syspref("UseRecalls", "1");
                cy.set_syspref("SMSSendDriver", "Email");
                cy.task("query", {sql: "INSERT INTO sms_providers (name, domain) VALUES (\"Verizon\", \"vtext.com\")"});
                cy.task("query", {sql: "INSERT INTO sms_providers (name, domain) VALUES (\"T-Mobile\", \"tmomail.net\")"});
                cy.login();
                /* No specific padding defined */
                cy.set_cookie_lang(lang);
            });

            it("addpatronmsg", function () {
                cy.visit("/cgi-bin/koha/members/memberentry.pl?op=add_form&categorycode=PT");
                cy.waitForPageLoad();
                cy.get("#email4").check();
                cy.get("#digest4").check();
                cy.get("#email2").check();
                cy.get("#digest2").check();
                cy.get("#SMSnumber").type("+15555551212");
                cy.get("#sms_provider_id").select("Verizon", {force: true});
                cy.get("#memberentry_messaging_prefs").should('be.visible').screenshot("addpatronmsg");
            });
        });
    });
    afterEach(function () {
        cy.set_syspref("ILLModule", "0");
        cy.set_syspref("UseRecalls", "0");
        cy.set_syspref("SMSSendDriver", "");
        cy.task("query", {sql: "DELETE FROM sms_providers WHERE name=\"Verizon\""});
        cy.task("query", {sql: "DELETE FROM sms_providers WHERE name=\"T-Mobile\""});
        Cypress.expose('PADDING_BEFORE_SCREENSHOT', undefined);
        // Set EN_TEST_FAILED if the 'en' test failed
        if (this.currentTest.parent.title.includes('in en') && this.currentTest.state === 'failed') {
            Cypress.expose("EN_TEST_FAILED", true);
        }
    });
});

Spec data

Page

members/memberentry.pl?op=add_form&categorycode=PT

Interface

staff

Element selector

#memberentry_messaging_prefs

Missing selector

setup

set_syspref ILLModule=1
set_syspref UseRecalls=1
set_syspref SMSSendDriver=Email
sql INSERT INTO sms_providers (name, domain) VALUES ("Verizon", "vtext.com")
sql INSERT INTO sms_providers (name, domain) VALUES ("T-Mobile", "tmomail.net")

workflow

check #email4
check #digest4
check #email2
check #digest2
type #SMSnumber=+15555551212
select #sms_provider_id=Verizon

teardown

set_syspref ILLModule=0
set_syspref UseRecalls=0
set_syspref SMSSendDriver=
sql DELETE FROM sms_providers WHERE name="Verizon"
sql DELETE FROM sms_providers WHERE name="T-Mobile"

Notes

There is no ID for the days in advance dropdown list for "Advance notice". So can't get it to set a vaue, such as 2

Additional KTD data

Test failure

CypressError: Timed out retrying after 10050ms: `cy.check()` failed because this element is `disabled`:

`<input type="checkbox" id="email2" name="2" value="email" class="pmp_email active_notify noEnterSubmit" data-attr-id="2" disabled="">`

Fix this problem, or use `{force: true}` to disable error checking.

https://on.cypress.io/element-cannot-be-interacted-with
    at Object.isNotDisabled (http://kohadev-intra.mydnsname.org:8081/__cypress/runner/cypress_runner.js:153406:58)
    at runAllChecks (http://kohadev-intra.mydnsname.org:8081/__cypress/runner/cypress_runner.js:115625:26)
    at retryActionability (http://kohadev-intra.mydnsname.org:8081/__cypress/runner/cypress_runner.js:115714:16)
    at tryCatcher (http://kohadev-intra.mydnsname.org:8081/__cypress/runner/cypress_runner.js:1777:23)
    at Promise.attempt.Promise.try (http://kohadev-intra.mydnsname.org:8081/__cypress/runner/cypress_runner.js:4285:29)
    at whenStable (http://kohadev-intra.mydnsname.org:8081/__cypress/runner/cypress_runner.js:152244:70)
    at <unknown> (http://kohadev-intra.mydnsname.org:8081/__cypress/runner/cypress_runner.js:152159:14)
    at tryCatcher (http://kohadev-intra.mydnsname.org:8081/__cypress/runner/cypress_runner.js:1777:23)
    at Promise._settlePromiseFromHandler (http://kohadev-intra.mydnsname.org:8081/__cypress/runner/cypress_runner.js:1489:31)
    at Promise._settlePromise (http://kohadev-intra.mydnsname.org:8081/__cypress/runner/cypress_runner.js:1546:18)
    at Promise._settlePromise0 (http://kohadev-intra.mydnsname.org:8081/__cypress/runner/cypress_runner.js:1591:10)
    at Promise._settlePromises (http://kohadev-intra.mydnsname.org:8081/__cypress/runner/cypress_runner.js:1671:18)
    at Promise._fulfill (http://kohadev-intra.mydnsname.org:8081/__cypress/runner/cypress_runner.js:1615:18)
    at <unknown> (http://kohadev-intra.mydnsname.org:8081/__cypress/runner/cypress_runner.js:5420:46)

Thumbnails


Current Thumbnail old

Current

2026-01-18 10:30:01 +0000

2026-01-18 10:15:01 +0000

2026-01-18 10:00:04 +0000

Old screenshot