67 lines
1.7 KiB
TypeScript
67 lines
1.7 KiB
TypeScript
import { testView } from '../../../test/_globals.js'
|
|
|
|
import { logout, login } from '../../support/index.js'
|
|
|
|
describe('Read Only User', () => {
|
|
beforeEach(() => {
|
|
logout()
|
|
login(testView)
|
|
})
|
|
|
|
afterEach(logout)
|
|
|
|
it('Has a Read Only User dashboard', () => {
|
|
cy.visit('/dashboard')
|
|
|
|
cy.log('Has no detectable accessibility issues')
|
|
cy.injectAxe()
|
|
cy.checkA11y()
|
|
|
|
cy.log('Has no links to new areas')
|
|
|
|
cy.get("a[href*='/new']").should('not.exist')
|
|
|
|
cy.log('Has no links to admin areas')
|
|
|
|
cy.get("a[href*='/admin']").should('not.exist')
|
|
})
|
|
|
|
it('Has no link to create maps on Map Search', () => {
|
|
cy.visit('/maps')
|
|
cy.get("a[href*='/new']").should('not.exist')
|
|
})
|
|
|
|
it('Has no link to create lots on Lot Search', () => {
|
|
cy.visit('/lots')
|
|
cy.get("a[href*='/new']").should('not.exist')
|
|
})
|
|
|
|
it('Has no link to create occupancies on Occupancy Search', () => {
|
|
cy.visit('/lotOccupancies')
|
|
cy.get("a[href*='/new']").should('not.exist')
|
|
})
|
|
|
|
it('Has no link to create work orders on Work Order Search', () => {
|
|
cy.visit('/workOrders')
|
|
cy.get("a[href*='/new']").should('not.exist')
|
|
})
|
|
|
|
it('Redirects to Dashboard when attempting to access the login page while authenticated', () => {
|
|
cy.visit('/login')
|
|
cy.wait(200)
|
|
cy.location('pathname').should('equal', '/dashboard/')
|
|
})
|
|
|
|
it('Redirects to Dashboard when attempting to create a work order', () => {
|
|
cy.visit('/workOrders/new')
|
|
cy.wait(200)
|
|
cy.location('pathname').should('equal', '/dashboard/')
|
|
})
|
|
|
|
it('Redirects to Dashboard when attempting to alter fees', () => {
|
|
cy.visit('/admin/fees')
|
|
cy.wait(200)
|
|
cy.location('pathname').should('not.contain', '/admin')
|
|
})
|
|
})
|