You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
85 lines
3.3 KiB
85 lines
3.3 KiB
/// <reference types="cypress" />
|
|
|
|
describe('Project Overview', () => {
|
|
const projectName = "projectY"
|
|
let projectId;
|
|
let isFirstTest = true;
|
|
|
|
before(() => {
|
|
cy.login(`test@localhost.local`, `testInfisical1`)
|
|
|
|
// Create a project
|
|
cy.get('.button').click()
|
|
cy.get('input[placeholder="Type your project name"]').type(`${projectName}`)
|
|
cy.contains('button', 'Create Project').click()
|
|
cy.url().should('include', '/project').then((currentUrl) => {
|
|
projectId = currentUrl.split("/")[4]
|
|
})
|
|
})
|
|
|
|
beforeEach(() => {
|
|
if (isFirstTest) {
|
|
isFirstTest = false;
|
|
return; // Skip the rest of the beforeEach for the first test
|
|
}
|
|
cy.login(`test@localhost.local`, `testInfisical1`)
|
|
cy.visit(`/project/${projectId}/secrets/overview`)
|
|
})
|
|
|
|
it('can create secrets', () => {
|
|
cy.contains('button', 'Go to Development').click()
|
|
cy.contains('button', 'Add a new secret').click()
|
|
cy.get('input[placeholder="Type your secret name"]').type('SECRET_A')
|
|
cy.contains('button', 'Create Secret').click()
|
|
cy.get('.w-80 > .inline-flex > .input').should('have.value', 'SECRET_A')
|
|
cy.get(':nth-child(6) > .button > .w-min').should('have.text', '1 Commit')
|
|
})
|
|
|
|
it('can update secrets', () => {
|
|
cy.get(':nth-child(2) > .flex > .button').click()
|
|
cy.get('.overflow-auto > .relative > .absolute').type('VALUE_A')
|
|
cy.get('.button.text-primary > .svg-inline--fa').click()
|
|
cy.get(':nth-child(6) > .button > .w-min').should('have.text', '2 Commits')
|
|
})
|
|
|
|
it('can`t create duplicate-name secrets', () => {
|
|
cy.get(':nth-child(2) > .flex > .button').click()
|
|
cy.contains('button', 'Add Secret').click()
|
|
cy.get('input[placeholder="Type your secret name"]').type('SECRET_A')
|
|
cy.intercept('POST', `/api/v3/secrets/SECRET_A`).as('createSecret');
|
|
cy.contains('button', 'Create Secret').click()
|
|
cy.get('@createSecret').should('have.property', 'response').and('have.property', 'statusCode', 400);
|
|
})
|
|
|
|
it('can add another secret', () => {
|
|
cy.get(':nth-child(2) > .flex > .button').click()
|
|
cy.contains('button', 'Add Secret').click()
|
|
cy.get('input[placeholder="Type your secret name"]').type('SECRET_B')
|
|
cy.contains('button', 'Create Secret').click()
|
|
cy.get(':nth-child(6) > .button > .w-min').should('have.text', '3 Commits')
|
|
})
|
|
|
|
it('can delete a secret', () => {
|
|
cy.get(':nth-child(2) > .flex > .button').click()
|
|
// cy.get(':nth-child(3) > .shadow-none').trigger('mouseover')
|
|
cy.get(':nth-child(3) > .shadow-none > .group > .h-10 > .border-red').click()
|
|
cy.contains('button', 'Delete Secret').should('have.attr', 'disabled')
|
|
cy.get('input[placeholder="Type to delete..."]').type('SECRET_B')
|
|
cy.intercept('DELETE', `/api/v3/secrets/SECRET_B`).as('deleteSecret');
|
|
cy.contains('button', 'Delete Secret').should('not.have.attr', 'disabled')
|
|
cy.contains('button', 'Delete Secret').click();
|
|
cy.get('@deleteSecret').should('have.property', 'response').and('have.property', 'statusCode', 200);
|
|
})
|
|
|
|
it('can add a comment', () => {
|
|
return;
|
|
cy.get(':nth-child(2) > .flex > .button').click()
|
|
// for some reason this hover does not want to work
|
|
cy.get('.overflow-auto').trigger('mouseover').then(() => {
|
|
cy.get('.shadow-none > .group > .pl-4 > .h-8 > button[aria-label="add-comment"]').should('be.visible').click()
|
|
});
|
|
|
|
})
|
|
|
|
})
|