139 lines
3.7 KiB
TypeScript
139 lines
3.7 KiB
TypeScript
import { getConfigProperty } from '../../../helpers/config.helpers.js'
|
|
import { testUpdate } from '../../../test/_globals.js'
|
|
import type { Cemetery } from '../../../types/recordTypes.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: Cemetery) => {
|
|
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: Cemetery) => {
|
|
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()
|
|
)
|
|
})
|
|
})
|
|
})
|