👷 e2e tests for dashboard

Including test for signing/singup, projects, files, teams, and misc
This commit is contained in:
Pablo Alba 2022-01-25 09:33:52 +01:00
parent 26e5d57ced
commit 5103624fe0
32 changed files with 1285 additions and 127 deletions

View file

@ -88,7 +88,7 @@ Cypress.Commands.add('clickMultiInViewport', (coords) => {
Cypress.Commands.add('clearViewport', () => {
cy.get(".viewport-controls").type('{ctrl}a');
cy.get(".viewport-controls").type('{del}');
cy.window().its("debug").invoke('reset_viewport')
cy.window().its("debug").invoke('reset_viewport');
})
Cypress.Commands.add('getBySel', (selector, ...args) => {
@ -97,4 +97,18 @@ Cypress.Commands.add('getBySel', (selector, ...args) => {
Cypress.Commands.add('getBySelLike', (selector, ...args) => {
return cy.get(`[data-test*=${selector}]`, ...args)
})
})
Cypress.Commands.add('uploadBinaryFile', (fileInputSelector, fileName) => {
cy.fixture(fileName, "binary")
.then(Cypress.Blob.binaryStringToBlob)
.then(fileContent => {
cy.get(fileInputSelector).attachFile({
fileContent,
filePath: fileName,
encoding: 'utf-8',
lastModified: new Date().getTime()
});
});
})

View file

@ -5,8 +5,71 @@ export const checkOnboardingSlide = (number, checkSkip) => {
cy.getBySel(`slide-${number}-btn`).should("exist");
cy.getBySel(`slide-${number}-btn`).click();
};
export const deleteFirstProject = () => {
cy.get('.project').first().find("[data-test=project-options]").click();
cy.wait(500);
cy.get('.project').first().find("[data-test=project-delete]").click();
cy.wait(500);
cy.get('.accept-button').click();
}
export const createProject = (projectName="") => {
cy.getBySel("new-project-button").click();
cy.wait(500);
cy.get('.project').first().find(".edit-wrapper").type(projectName + "{enter}");
cy.wait(500);
}
export const deleteFirstFile = () => {
cy.get('.menu')
.first()
.trigger('mouseover')
.click();
cy.getBySel("file-delete").click();
cy.get('.accept-button').click();
}
export const createFile = (fileName="", projectNum=0) => {
cy.getBySel("new-file").click();
cy.wait(500);
if (fileName !=""){
cy.get('.menu')
.first()
.trigger('mouseover')
.click();
cy.getBySel("file-rename").click();
cy.get(".edit-wrapper").type(fileName + "{enter}");
//TODO: Bug workaround. When a file is selected, it doesn't open context menu
cy.get(".dashboard-grid").click();
}
}
export const createTeam = (teamName) => {
cy.get(".current-team").click();
cy.getBySel("create-new-team").click();
cy.get("#name").type(teamName);
cy.get("input[type=submit]").click();
cy.wait(500);
}
export const deleteCurrentTeam = () => {
cy.get(".icon-actions").first().click();
cy.getBySel("delete-team").click();
cy.get(".accept-button").click();
}
export const goToSlideByNumber = (number) => {
cy.get(`.step-dots li:nth-child(${number})`).click();
cy.getBySel(`slide-${number -1}-btn`).should("exist");
};
export const deleteFirstFont = () => {
cy.get(".font-item .options").first().click();
cy.getBySel("font-delete").click();
cy.get(".accept-button").click();
};