111 lines
4.4 KiB
JavaScript
111 lines
4.4 KiB
JavaScript
import filterTests from "../../support/filterTests"
|
|
const interact = require('../../support/interact')
|
|
|
|
filterTests(["smoke", "all"], () => {
|
|
context("User Settings Menu", () => {
|
|
|
|
before(() => {
|
|
cy.login()
|
|
})
|
|
|
|
it("should update user information via user settings menu", () => {
|
|
const fname = "test"
|
|
const lname = "user"
|
|
|
|
cy.visit(`${Cypress.config().baseUrl}/builder`)
|
|
cy.updateUserInformation(fname, lname)
|
|
|
|
// Go to user info and confirm name update
|
|
cy.contains("Users").click()
|
|
cy.contains("test@test.com").click()
|
|
|
|
cy.get(interact.FIELD, { timeout: 1000 }).eq(0).within(() => {
|
|
cy.get(interact.SPECTRUM_TEXTFIELD_INPUT).should('have.value', fname)
|
|
})
|
|
cy.get(interact.FIELD).eq(1).within(() => {
|
|
cy.get(interact.SPECTRUM_TEXTFIELD_INPUT).should('have.value', lname)
|
|
})
|
|
})
|
|
|
|
it("should allow copying of the users API key", () => {
|
|
cy.get(".user-dropdown .avatar > .icon", { timeout: 2000 }).click({ force: true })
|
|
cy.get(interact.SPECTRUM_MENU_ITEM).contains("View API key").click({ force: true })
|
|
cy.get(interact.SPECTRUM_DIALOG_CONTENT).within(() => {
|
|
cy.get(interact.SPECTRUM_ICON).click({force: true})
|
|
})
|
|
// There may be timing issues with this on the smoke build
|
|
cy.wait(500)
|
|
cy.get(".spectrum-Toast-content")
|
|
.contains("URL copied to clipboard")
|
|
.should("be.visible")
|
|
})
|
|
|
|
it("should allow API key regeneration", () => {
|
|
// Get initial API key value
|
|
cy.get(interact.SPECTRUM_DIALOG_CONTENT)
|
|
.find(interact.SPECTRUM_TEXTFIELD_INPUT).invoke('val').as('keyOne')
|
|
|
|
// Click re-generate key button
|
|
cy.get("button").contains("Re-generate key").click({ force: true })
|
|
|
|
// Verify API key was changed
|
|
cy.get(interact.SPECTRUM_DIALOG_CONTENT).within(() => {
|
|
cy.get('@keyOne').then((keyOne) => {
|
|
cy.get(interact.SPECTRUM_TEXTFIELD_INPUT).invoke('val').should('not.eq', keyOne)
|
|
})
|
|
})
|
|
cy.closeModal()
|
|
})
|
|
|
|
it("should update password", () => {
|
|
// Access Update password modal
|
|
cy.get(".user-dropdown .avatar > .icon", { timeout: 2000 }).click({ force: true })
|
|
cy.get(interact.SPECTRUM_MENU_ITEM).contains("Update password").click({ force: true })
|
|
|
|
// Enter new password and update
|
|
cy.get(interact.SPECTRUM_DIALOG_GRID).within(() => {
|
|
for (let i = 0; i < 2; i++) {
|
|
// password set to 'newpwd'
|
|
cy.get(interact.SPECTRUM_TEXTFIELD_INPUT).eq(i).type("newpwd")
|
|
}
|
|
cy.get("button").contains("Update password").click({ force: true })
|
|
})
|
|
|
|
// Logout & in with new password
|
|
cy.logOut()
|
|
cy.login("test@test.com", "newpwd")
|
|
})
|
|
|
|
it("should open and close developer mode", () => {
|
|
cy.get(".user-dropdown .avatar > .icon", { timeout: 2000 }).click({ force: true })
|
|
|
|
// Close developer mode & verify
|
|
cy.get(interact.SPECTRUM_MENU_ITEM).contains("Close developer mode").click({ force: true })
|
|
cy.get(interact.SPECTRUM_SIDENAV).should('not.exist') // No config sections
|
|
cy.get(interact.CREATE_APP_BUTTON).should('not.exist') // No create app button
|
|
cy.get(".app").should('not.exist') // At least one app should be available
|
|
|
|
// Open developer mode & verify
|
|
cy.get(".avatar > .icon").click({ force: true })
|
|
cy.get(interact.SPECTRUM_MENU_ITEM).contains("Open developer mode").click({ force: true })
|
|
cy.get(interact.SPECTRUM_SIDENAV).should('exist') // config sections available
|
|
cy.get(interact.CREATE_APP_BUTTON).should('exist') // create app button available
|
|
cy.get(interact.APP_TABLE).should('exist') // App table available
|
|
})
|
|
|
|
after(() => {
|
|
// Change password back to original value
|
|
cy.get(".user-dropdown .avatar > .icon", { timeout: 2000 }).click({ force: true })
|
|
cy.get(interact.SPECTRUM_MENU_ITEM).contains("Update password").click({ force: true })
|
|
cy.get(interact.SPECTRUM_DIALOG_GRID).within(() => {
|
|
for (let i = 0; i < 2; i++) {
|
|
cy.get(interact.SPECTRUM_TEXTFIELD_INPUT).eq(i).type("test")
|
|
}
|
|
cy.get("button").contains("Update password").click({ force: true })
|
|
})
|
|
// Remove users name
|
|
cy.updateUserInformation()
|
|
})
|
|
})
|
|
})
|