Flowise/packages/server/cypress/e2e/2-variables/variables.cy.js

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')
})
})