frontPanel/cypress/e2e/quizPublish.cy.ts

404 lines
11 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import "cypress-file-upload";
describe("Тестирование публикации", () => {
beforeEach(() => {
cy.visit("http://localhost:3000");
cy.wait(1000);
cy.contains("Регистрация / Войти").click();
const login = "valid_user@exammple.com";
const password = "valid_password";
cy.get("#email").type(login);
cy.get("#password").type(password);
cy.get('button[type="submit"]').click();
});
it("Тестирование создания, публикации и удаления опросника с проверкой обязательных вопросов", () => {
cy.get('[data-cy="create-quiz"]').click();
cy.wait(1000);
cy.get('button[data-cy="create-quiz-card"]').eq(0).click();
cy.wait(1000);
cy.get('button[data-cy="select-quiz-layout-standard"]').click();
cy.get('input[type="checkbox"]').click();
cy.get('[data-cy="setup-questions"]').click();
cy.wait(500);
cy.get('[data-cy="create-question"]').click();
cy.get(`[data-cy="select-questiontype-images"]`).click();
cy.get(
'[data-cy="checkbox-optional-question"] > .PrivateSwitchBase-input',
).click();
cy.get('[data-cy="quiz-variant-question-answer"]')
.eq(0)
.type("1")
.type("{enter}");
cy.get('[data-cy="quiz-variant-question-answer"]')
.eq(1)
.should("have.value", "")
.type("2")
.type("{enter}");
cy.get('[data-cy="quiz-variant-question-answer"]')
.eq(2)
.should("have.value", "")
.type("3")
.type("{enter}");
cy.get('[data-cy="quiz-variant-question-answer"]')
.eq(3)
.should("have.value", "")
.type("4")
.type("{enter}");
cy.visit("http://localhost:3000/view");
cy.wait(500);
cy.get("#buttonFurther").should("be.disabled");
cy.contains("div", "1").click();
cy.wait(500);
cy.get("#buttonFurther").should("not.be.disabled");
cy.visit("http://localhost:3000/view");
cy.visit("http://localhost:3000/edit");
cy.wait(500);
cy.get('[data-cy="delete-question"]').click();
cy.wait(5000);
cy.get('[data-cy="create-question"]').click();
//Варианты ответов +
cy.get(`[data-cy="select-questiontype-variant"]`).click();
cy.get(
'[data-cy="checkbox-optional-question"] > .PrivateSwitchBase-input',
).click();
cy.get('[data-cy="quiz-variant-question-answer"]')
.eq(0)
.type("1")
.type("{enter}");
cy.get('[data-cy="quiz-variant-question-answer"]')
.eq(1)
.should("have.value", "")
.type("2")
.type("{enter}");
cy.get('[data-cy="quiz-variant-question-answer"]')
.eq(2)
.should("have.value", "")
.type("3")
.type("{enter}");
cy.get('[data-cy="quiz-variant-question-answer"]')
.eq(3)
.should("have.value", "")
.type("4")
.type("{enter}");
cy.visit("http://localhost:3000/view");
cy.wait(500);
cy.get("#buttonFurther").should("be.disabled");
cy.contains("label", "1").click();
cy.wait(500);
cy.get("#buttonFurther").should("not.be.disabled");
cy.visit("http://localhost:3000/view");
cy.visit("http://localhost:3000/edit");
cy.wait(500);
cy.get('[data-cy="delete-question"]').click();
cy.wait(5000);
cy.get('[data-cy="create-question"]').click();
// Варианты и картинка +
cy.get(`[data-cy="select-questiontype-varimg"]`).click();
cy.get(
'[data-cy="checkbox-optional-question"] > .PrivateSwitchBase-input',
).click();
cy.get('[data-cy="quiz-variant-question-answer"]')
.eq(0)
.type("1")
.type("{enter}");
cy.get('[data-cy="quiz-variant-question-answer"]')
.eq(1)
.should("have.value", "")
.type("2")
.type("{enter}");
cy.get('[data-cy="quiz-variant-question-answer"]')
.eq(2)
.should("have.value", "")
.type("3")
.type("{enter}");
cy.get('[data-cy="quiz-variant-question-answer"]')
.eq(3)
.should("have.value", "")
.type("4")
.type("{enter}");
cy.visit("http://localhost:3000/view");
cy.wait(500);
cy.get("#buttonFurther").should("be.disabled");
cy.contains("div", "1").click();
cy.wait(500);
cy.get("#buttonFurther").should("not.be.disabled");
cy.visit("http://localhost:3000/view");
cy.visit("http://localhost:3000/edit");
cy.wait(500);
cy.get('[data-cy="delete-question"]').click();
cy.wait(5000);
cy.get('[data-cy="create-question"]').click();
//Эмоджи +
cy.get(`[data-cy="select-questiontype-emoji"]`).click();
cy.get(
'[data-cy="checkbox-optional-question"] > .PrivateSwitchBase-input',
).click();
cy.get('[data-cy="quiz-variant-question-answer"]')
.eq(0)
.type("1")
.type("{enter}");
cy.get('[data-cy="quiz-variant-question-answer"]')
.eq(1)
.should("have.value", "")
.type("2")
.type("{enter}");
cy.get('[data-cy="quiz-variant-question-answer"]')
.eq(2)
.should("have.value", "")
.type("3")
.type("{enter}");
cy.get('[data-cy="quiz-variant-question-answer"]')
.eq(3)
.should("have.value", "")
.type("4")
.type("{enter}");
cy.visit("http://localhost:3000/view");
cy.wait(500);
cy.get("#buttonFurther").should("be.disabled");
cy.contains("div", "1").click();
cy.wait(500);
cy.get("#buttonFurther").should("not.be.disabled");
cy.visit("http://localhost:3000/view");
cy.visit("http://localhost:3000/edit");
cy.wait(500);
cy.get('[data-cy="delete-question"]').click();
cy.wait(5000);
cy.get('[data-cy="create-question"]').click();
//Своё поле для ввода +
cy.get(`[data-cy="select-questiontype-text"]`).click();
cy.get(
'[data-cy="checkbox-optional-question"] > .PrivateSwitchBase-input',
).click();
cy.get('input[placeholder="Пример ответа"]')
.eq(0)
.type("1")
.type("{enter}");
cy.visit("http://localhost:3000/view");
cy.wait(500);
cy.get("#buttonFurther").should("be.disabled");
cy.get('input[type="text"]').type("email@invalid.com");
cy.wait(500);
cy.get("#buttonFurther").should("not.be.disabled");
cy.visit("http://localhost:3000/view");
cy.visit("http://localhost:3000/edit");
cy.wait(500);
cy.get('[data-cy="delete-question"]').click();
cy.wait(5000);
cy.get('[data-cy="create-question"]').click();
//Выпадающий список +
cy.get(`[data-cy="select-questiontype-select"]`).click();
cy.get(
'[data-cy="checkbox-optional-question"] > .PrivateSwitchBase-input',
).click();
cy.get('[data-cy="quiz-variant-question-answer"]')
.eq(0)
.type("1")
.type("{enter}");
cy.get('[data-cy="quiz-variant-question-answer"]')
.eq(1)
.should("have.value", "")
.type("2")
.type("{enter}");
cy.get('[data-cy="quiz-variant-question-answer"]')
.eq(2)
.should("have.value", "")
.type("3")
.type("{enter}");
cy.get('[data-cy="quiz-variant-question-answer"]')
.eq(3)
.should("have.value", "")
.type("4")
.type("{enter}");
cy.visit("http://localhost:3000/view");
cy.wait(500);
cy.get("#buttonFurther").should("be.disabled");
cy.get("#display-select").click();
cy.get("li").eq(0).click();
cy.wait(500);
cy.get("#buttonFurther").should("not.be.disabled");
cy.visit("http://localhost:3000/view");
cy.visit("http://localhost:3000/edit");
cy.wait(500);
cy.get('[data-cy="delete-question"]').click();
cy.wait(5000);
cy.get('[data-cy="create-question"]').click();
//Дата +
cy.get(`[data-cy="select-questiontype-date"]`).click();
cy.get(
'[data-cy="checkbox-optional-question"] > .PrivateSwitchBase-input',
).click();
cy.visit("http://localhost:3000/view");
cy.wait(500);
cy.get("#buttonFurther").should("be.disabled");
cy.get('button[data-cy="open-datepicker"]').click();
cy.wait(500);
cy.get('button[role="gridcell"]').eq(16).click();
cy.wait(500);
cy.get("#buttonFurther").should("not.be.disabled");
cy.visit("http://localhost:3000/view");
cy.visit("http://localhost:3000/edit");
cy.wait(500);
cy.get('[data-cy="delete-question"]').click();
cy.wait(5000);
cy.get('[data-cy="create-question"]').click();
//Ползунок +
cy.get(`[data-cy="select-questiontype-number"]`).click();
cy.get(
'[data-cy="checkbox-optional-question"] > .PrivateSwitchBase-input',
).click();
cy.visit("http://localhost:3000/view");
cy.wait(500);
cy.get("#buttonFurther").should("be.disabled");
cy.get('div[data-cy="textfield"]').as("textFieldDiv");
cy.get("@textFieldDiv").find("input").type("10");
cy.wait(500);
cy.get("#buttonFurther").should("not.be.disabled");
cy.visit("http://localhost:3000/view");
cy.visit("http://localhost:3000/edit");
cy.wait(500);
cy.get('[data-cy="delete-question"]').click();
cy.wait(5000);
cy.get('[data-cy="create-question"]').click();
// Загрузка файла +
cy.get(`[data-cy="select-questiontype-file"]`).click();
cy.get(
'[data-cy="checkbox-optional-question"] > .PrivateSwitchBase-input',
).click();
cy.visit("http://localhost:3000/view");
cy.wait(500);
cy.get("#buttonFurther").should("be.disabled");
cy.get('label.MuiButtonBase-root input[type="file"]').attachFile(
"../e2e/image/Bunner.png",
);
cy.wait(500);
cy.get("#buttonFurther").should("not.be.disabled");
cy.visit("http://localhost:3000/view");
cy.visit("http://localhost:3000/edit");
cy.wait(500);
cy.get('[data-cy="delete-question"]').click();
cy.wait(5000);
cy.get('[data-cy="create-question"]').click();
// Рейтинг
cy.get(`[data-cy="select-questiontype-rating"]`).click();
cy.get(
'[data-cy="checkbox-optional-question"] > .PrivateSwitchBase-input',
).click();
cy.visit("http://localhost:3000/view");
cy.wait(500);
cy.get("#buttonFurther").should("be.disabled");
cy.contains("label", "4 Stars").click();
cy.wait(500);
cy.get("#buttonFurther").should("not.be.disabled");
cy.visit("http://localhost:3000/view");
cy.visit("http://localhost:3000/edit");
cy.wait(500);
cy.get('[data-cy="delete-question"]').click();
cy.wait(5000);
cy.get('[data-cy="create-question"]').click();
// Удаления Квиза
cy.visit("http://localhost:3000/list");
cy.wait(500);
cy.get('[data-cy="delete-quiz"]').each(($button) => {
cy.wrap($button).click();
cy.wait(500);
cy.get("#deleteButton").click();
});
});
});