50 lines
2.3 KiB
JavaScript
50 lines
2.3 KiB
JavaScript
describe('E2E suite for api/v1/variables API endpoint', () => {
|
|
beforeEach(() => {
|
|
cy.visit('http://localhost:3000/variables')
|
|
})
|
|
|
|
// DEFAULT TEST ON PAGE LOAD
|
|
it('displays no variables by default', () => {
|
|
cy.get('.MuiCardContent-root .MuiStack-root').last().find('div').last().should('have.text', 'No Variables Yet')
|
|
})
|
|
|
|
// CREATE
|
|
it('can add new variable', () => {
|
|
const newVariableName = 'MafiVariable'
|
|
const newVariableValue = 'shh!!! secret value'
|
|
cy.get('#btn_createVariable').click()
|
|
cy.get('#txtInput_variableName').type(`${newVariableName}`)
|
|
cy.get('#txtInput_variableValue').type(`${newVariableValue}`)
|
|
cy.get('.MuiDialogActions-spacing button').click()
|
|
cy.get('.MuiTable-root tbody tr').should('have.length', 1)
|
|
cy.get('.MuiTable-root tbody tr').last().find('th').first().find('div').first().should('have.text', newVariableName)
|
|
})
|
|
|
|
// READ
|
|
it('can retrieve all api keys', () => {
|
|
const newVariableName = 'MafiVariable'
|
|
cy.get('.MuiTable-root tbody tr').should('have.length', 1)
|
|
cy.get('.MuiTable-root tbody tr').last().find('th').first().find('div').first().should('have.text', newVariableName)
|
|
})
|
|
|
|
// UPDATE
|
|
it('can update new api key', () => {
|
|
const updatedVariableName = 'PichiVariable'
|
|
const updatedVariableValue = 'silence shh! value'
|
|
cy.get('.MuiTable-root tbody tr').last().find('td').eq(4).find('button').click()
|
|
cy.get('#txtInput_variableName').clear().type(`${updatedVariableName}`)
|
|
cy.get('#txtInput_variableValue').clear().type(`${updatedVariableValue}`)
|
|
cy.get('.MuiDialogActions-spacing button').click()
|
|
cy.get('.MuiTable-root tbody tr').should('have.length', 1)
|
|
cy.get('.MuiTable-root tbody tr').last().find('th').first().find('div').first().should('have.text', updatedVariableName)
|
|
})
|
|
|
|
// DELETE
|
|
it('can delete new api key', () => {
|
|
cy.get('.MuiTable-root tbody tr').last().find('td').eq(5).find('button').click()
|
|
cy.get('.MuiDialog-scrollPaper .MuiDialogActions-spacing button').last().click()
|
|
cy.get('.MuiTable-root tbody tr').should('have.length', 0)
|
|
cy.get('.MuiCardContent-root .MuiStack-root').last().find('div').last().should('have.text', 'No Variables Yet')
|
|
})
|
|
})
|