sunrise-cms/cypress/e2e/02-update/cemeteries.cy.js

70 lines
3.7 KiB
JavaScript

import { getConfigProperty } from '../../../helpers/config.helpers.js';
import { testUpdate } from '../../../test/_globals.js';
import { login, logout } from '../../support/index.js';
describe('Update - Cemeteries', () => {
beforeEach('Loads page', () => {
logout();
login(testUpdate);
});
afterEach(logout);
it('Has a "Create" link on the Cemetery Search', () => {
cy.visit('/cemeteries');
cy.location('pathname').should('equal', '/cemeteries');
cy.get("a[href$='/cemeteries/new']").should('exist');
});
it('Creates a new cemetery', () => {
cy.visit('/cemeteries/new');
cy.log('Check the accessibility');
cy.injectAxe();
cy.checkA11y();
cy.log('Populate the fields');
cy.fixture('cemetery.json').then((cemeteryData) => {
cy.get("input[name='cemeteryName']")
.clear()
.type(cemeteryData.cemeteryName ?? '');
cy.get("textarea[name='cemeteryDescription']")
.clear()
.type(cemeteryData.cemeteryDescription ?? '');
cy.get("input[name='cemeteryAddress1']")
.clear()
.type(cemeteryData.cemeteryAddress1 ?? '');
cy.get("input[name='cemeteryAddress2']")
.clear()
.type(cemeteryData.cemeteryAddress2 ?? '');
cy.get("input[name='cemeteryPostalCode']")
.clear()
.type(cemeteryData.cemeteryPostalCode ?? '');
cy.get("input[name='cemeteryPhoneNumber']")
.clear()
.type(cemeteryData.cemeteryPhoneNumber ?? '');
cy.get("input[name='cemeteryLatitude']")
.clear()
.type(cemeteryData.cemeteryLatitude?.toString() ?? '');
cy.get("input[name='cemeteryLongitude']")
.clear()
.type(cemeteryData.cemeteryLongitude?.toString() ?? '');
});
cy.log('Ensure the default city and province are used');
cy.get("input[name='cemeteryCity']").should('have.value', getConfigProperty('settings.cemeteries.cityDefault'));
cy.get("input[name='cemeteryProvince']").should('have.value', getConfigProperty('settings.cemeteries.provinceDefault'));
cy.log('Submit the form');
cy.get('#form--cemetery').submit();
cy.wait(1000);
cy.location('pathname')
.should('not.contain', '/new')
.should('contain', '/edit');
cy.fixture('cemetery.json').then((cemeteryData) => {
cy.get("input[name='cemeteryName']").should('have.value', cemeteryData.cemeteryName);
cy.get("textarea[name='cemeteryDescription']").should('have.value', cemeteryData.cemeteryDescription);
cy.get("input[name='cemeteryAddress1']").should('have.value', cemeteryData.cemeteryAddress1);
cy.get("input[name='cemeteryAddress2']").should('have.value', cemeteryData.cemeteryAddress2);
cy.get("input[name='cemeteryCity']").should('have.value', getConfigProperty('settings.cemeteries.cityDefault'));
cy.get("input[name='cemeteryProvince']").should('have.value', getConfigProperty('settings.cemeteries.provinceDefault'));
cy.get("input[name='cemeteryPostalCode']").should('have.value', cemeteryData.cemeteryPostalCode);
cy.get("input[name='cemeteryPhoneNumber']").should('have.value', cemeteryData.cemeteryPhoneNumber);
cy.get("input[name='cemeteryLatitude']").should('have.value', cemeteryData.cemeteryLatitude?.toString());
cy.get("input[name='cemeteryLongitude']").should('have.value', cemeteryData.cemeteryLongitude?.toString());
});
});
});