Files
nowdatabase/cypress/e2e/ui.cy.js
T

99 lines
3.3 KiB
JavaScript

/*
Tests for different buttons / paths the user may take.
Mostly to prove some user stories are complete
*/
before('Reset database', () => {
cy.resetDatabase()
})
describe('Button Tests', () => {
it('Buttons for Localities, Species, References, Cross-Search, Map & Time Units are visible', () => {
cy.visit('/')
cy.contains('Welcome').should('be.visible')
cy.contains('References').should('be.visible')
cy.contains('Time Units').should('be.visible')
cy.contains('Occurrences').should('be.visible')
cy.contains('Localities').should('be.visible')
cy.contains('Species').should('be.visible')
})
it('Localities button works', () => {
cy.visit('/')
cy.contains('Localities').click()
cy.url().should('include', '/locality')
cy.contains('Name').should('be.visible')
cy.contains('Country').should('be.visible')
cy.contains('Max age').should('be.visible')
cy.contains('Min age').should('be.visible')
})
it('Species button works', () => {
cy.visit('/')
cy.contains('Species').click()
cy.url().should('include', '/species')
cy.contains('Order').should('be.visible')
cy.contains('Family').should('be.visible')
cy.contains('Genus').should('be.visible')
})
it('Occurrences button works', () => {
cy.visit('/')
cy.contains('Occurrences').click()
cy.url().should('include', '/occurrence')
cy.contains('Locality name').should('be.visible')
cy.contains('Genus').should('be.visible')
cy.contains('Species').should('be.visible')
})
it('Time Units button works', () => {
cy.visit('/')
cy.contains('Time Units').click()
cy.url().should('include', '/time-unit')
cy.contains('Lower Bound').should('be.visible')
cy.contains('Upper Bound').should('be.visible')
cy.contains('Sequence').should('be.visible')
})
it('Link to species details from species tab', () => {
cy.visit('/species')
cy.get('tbody tr', { timeout: 10000 }).first().click()
cy.contains('Taxonomy').should('be.visible')
cy.contains('Synonyms').should('be.visible')
cy.contains('Diet').should('be.visible')
cy.contains('Locomotion').should('be.visible')
cy.contains('Size').should('be.visible')
cy.contains('Teeth').should('be.visible')
cy.contains('Localities').should('be.visible')
cy.contains('Occurrences').should('be.visible')
cy.contains('Updates').should('be.visible')
})
it('Links between localities and occurrences work', () => {
cy.visit('/locality/21050')
cy.get('[role=tablist]').contains('Occurrences').click()
cy.get('[data-cy="table-row-21426"]').click()
cy.url().should('contain', '/occurrence/21050/21426')
cy.contains('Amblycoptus indet.')
cy.contains('a', 'Dmanisi').click()
cy.url.should('contain', '/locality/21050')
cy.contains('Dmanisi')
})
it.todo('Links between localities and species work', () => {
cy.visit('/locality/21050')
cy.get('[role=tablist]').contains('Occurrences').click()
cy.get('[id=go-to-species-21426]').click()
cy.url().should('contain', '/species/21426')
cy.contains('Amblycoptus indet.')
cy.contains('Mammalia')
cy.get('[role=tablist]').contains('Localities').click()
cy.get('[data-cy="table-row-21050"]').click()
cy.url().should('contain', '/locality/21050')
cy.contains('Dmanisi')
})
})