Files
nowdatabase/cypress/e2e/ui.cy.js
T
juhanikatandGitHub e9fa3e3b31 Improve loading times by splitting pages.tsx into smaller files and improving the locality map (#1224)
* split pages.tsx into multiple files, and update ui e2e test since occurrence rename

* reduce size of countryBoundingBoxes and countryPolygons

* update files again, and update countryExport script

* update files again, add more simplified geojson files, and update countryExport with Copilot
2026-08-04 13:51:13 +03:00

90 lines
3.0 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('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('Cross Search button works', () => {
cy.visit('/')
cy.visit('/occurrence')
cy.url().should('include', '/occurrence')
cy.contains('Occurrences').should('be.visible')
cy.contains('Country').should('be.visible')
cy.contains('Genus').should('be.visible')
cy.contains('Species').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 species work', () => {
cy.visit('/locality/21050')
cy.get('[role=tablist]').contains('Species').click()
cy.get('[data-cy="table-row-21426"]', { timeout: 10000 }).click()
cy.url().should('contain', '/species/21426')
cy.contains('Amblycoptus indet.')
cy.contains('Mammalia')
cy.contains('Diet')
cy.get('[role=tablist]').contains('Localities').click()
cy.get('[data-cy="table-row-21050"]', { timeout: 10000 }).click()
cy.url().should('contain', '/locality/21050')
cy.contains('Dmanisi')
cy.contains('Dating method')
cy.contains('Lithology')
})
})