mirror of
https://github.com/nowcommunity/nowdatabase.git
synced 2026-10-12 19:13:52 +03:00
add e2e tests for occurrence editing
This commit is contained in:
@@ -3,8 +3,10 @@ before('Reset database', () => {
|
||||
})
|
||||
|
||||
describe('Occurrence editing', () => {
|
||||
it('allows admin to open edit mode and finalize flow', () => {
|
||||
beforeEach('Login as admin with session caching', () => {
|
||||
cy.loginWithSession('testSu')
|
||||
})
|
||||
it('allows admin to open edit mode and finalize flow', () => {
|
||||
cy.visit('/occurrence/21050/85729')
|
||||
|
||||
cy.get('#edit-button').should('exist').click()
|
||||
@@ -18,6 +20,104 @@ describe('Occurrence editing', () => {
|
||||
cy.contains('Add existing reference').should('be.visible')
|
||||
})
|
||||
|
||||
it('works with some changed values in all tabs', () => {
|
||||
cy.resetDatabase()
|
||||
cy.visit('/occurrence/21050/85729')
|
||||
|
||||
cy.get('#edit-button').click()
|
||||
cy.get('[id=source_name-textfield]').clear()
|
||||
cy.get('[id=source_name-textfield]').type('Test value')
|
||||
|
||||
cy.get('[role=tablist]').contains('Wear').click()
|
||||
cy.get('[id=mw_scale_min-textfield]').clear()
|
||||
cy.get('[id=mw_scale_min-textfield]').type('1')
|
||||
cy.get('[id=mw_scale_max-textfield]').clear()
|
||||
cy.get('[id=mw_scale_max-textfield]').type('10')
|
||||
cy.get('[id=mw_value-textfield]').clear()
|
||||
cy.get('[id=mw_value-textfield]').type('5')
|
||||
|
||||
cy.get('[role=tablist]').contains('Isotopes').click()
|
||||
cy.get('[id=dc13_mean-textfield]').clear()
|
||||
cy.get('[id=dc13_mean-textfield]').type('12.5')
|
||||
cy.get('[id=dc13_n-textfield]').clear()
|
||||
cy.get('[id=dc13_n-textfield]').type('2')
|
||||
cy.get('[id=do18_mean-textfield]').clear()
|
||||
cy.get('[id=do18_mean-textfield]').type('18.5')
|
||||
cy.get('[id=do18_n-textfield]').clear()
|
||||
cy.get('[id=do18_n-textfield]').type('3')
|
||||
|
||||
cy.addReferenceAndSave()
|
||||
cy.url().should('include', '/occurrence/21050/85729')
|
||||
|
||||
cy.get('#edit-button').click()
|
||||
cy.get('[role=tablist]').contains('Occurrence').click()
|
||||
cy.get('[id=source_name-textfield]').should('have.value', 'Test value')
|
||||
cy.get('[role=tablist]').contains('Wear').click()
|
||||
cy.get('[id=mw_scale_min-textfield]').should('have.value', '1')
|
||||
cy.get('[id=mw_scale_max-textfield]').should('have.value', '10')
|
||||
cy.get('[id=mw_value-textfield]').should('have.value', '5')
|
||||
cy.get('[role=tablist]').contains('Isotopes').click()
|
||||
cy.get('[id=dc13_mean-textfield]').should('have.value', '12.5')
|
||||
cy.get('[id=dc13_n-textfield]').should('have.value', '2')
|
||||
cy.get('[id=do18_mean-textfield]').should('have.value', '18.5')
|
||||
cy.get('[id=do18_n-textfield]').should('have.value', '3')
|
||||
})
|
||||
|
||||
it('works with species changed to an existing species', () => {
|
||||
cy.resetDatabase()
|
||||
cy.visit('/occurrence/21050/85729')
|
||||
|
||||
cy.get('#edit-button').click()
|
||||
cy.contains('Select Species').click()
|
||||
cy.get('[data-cy=table-row-21052]').click()
|
||||
cy.contains('simplicidens').should('be.visible')
|
||||
|
||||
cy.addReferenceAndSave()
|
||||
|
||||
cy.url().should('include', '/occurrence/21050/21052')
|
||||
cy.contains('simplicidens').should('be.visible')
|
||||
|
||||
cy.visit('/species/21052')
|
||||
cy.get('[role=tablist]').contains('Occurrences').click()
|
||||
cy.contains('Dmanisi')
|
||||
})
|
||||
|
||||
it('works with species changed to a new species', () => {
|
||||
const speciesName = `occurrencespecies${Date.now()}`
|
||||
|
||||
cy.resetDatabase()
|
||||
cy.loginWithSession('testSu')
|
||||
cy.visit('/occurrence/21050/85729')
|
||||
|
||||
cy.get('#edit-button').click()
|
||||
cy.contains('Add new Species').click()
|
||||
cy.get('[name=order_name]').type('OccurrenceOrder')
|
||||
cy.get('[name=family_name]').type('OccurrenceFamily')
|
||||
cy.get('[name=genus_name]').type('OccurrenceGenus')
|
||||
cy.get('[name=species_name]').type(speciesName)
|
||||
cy.get('[id=editing-modal-save-button]').click()
|
||||
|
||||
cy.addReferenceAndSave()
|
||||
|
||||
// Main Occurrence table should be visible, since creating a new Species inside an Occurrence navigates there
|
||||
cy.url().should('include', '/occurrence')
|
||||
cy.contains(speciesName).click()
|
||||
cy.url().should('include', '/occurrence/21050')
|
||||
cy.contains('Dmanisi')
|
||||
cy.contains(speciesName)
|
||||
|
||||
// go to the newly created species details
|
||||
cy.url().then(url => cy.visit(`species/${url.split('/')[5]}`))
|
||||
cy.contains(speciesName)
|
||||
cy.get('[role=tablist]').contains('Occurrences').click()
|
||||
cy.contains('Dmanisi')
|
||||
})
|
||||
|
||||
// TODO: create these once update log for Occurrences works correctly, see GitHub issue
|
||||
it.skip('shows update logs correctly with changed basic values')
|
||||
it.skip('shows update logs correctly with changed, but existing species')
|
||||
it.skip('shows update logs correctly with a new species')
|
||||
|
||||
it('prevents read-only user from editing occurrence', () => {
|
||||
cy.loginWithSession('testEu')
|
||||
cy.visit('/occurrence/21050/85729')
|
||||
|
||||
Reference in New Issue
Block a user