frontPanel/cypress/e2e/quizQuestionsFields.cy.ts
2024-04-26 17:41:36 +03:00

495 lines
14 KiB
TypeScript

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="select-questiontype-images"]`).click();
cy.get(
'[data-cy="checkbox-optional-question"] > .PrivateSwitchBase-input',
).click();
cy.get("#questionTitle").type("Заголовок вопроса");
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(`button[data-cy="button-preview"]`).click();
cy.wait(2000);
cy.get(".MuiTypography-h6")
.should("exist")
.and("have.text", "Заголовок вопроса");
cy.get(":nth-child(1) > .MuiFormControlLabel-root")
.should("exist")
.and("have.text", "1");
cy.get(":nth-child(2) > .MuiFormControlLabel-root")
.should("exist")
.and("have.text", "2");
cy.get(`button[data-cy="button-preview"]`).click();
cy.visit("http://localhost:3000/view");
cy.wait(2000);
// проверка введёных значений
cy.get(".MuiTypography-h5")
.should("exist")
.and("have.text", "Заголовок вопроса");
cy.get(":nth-child(1) > .MuiFormControlLabel-root")
.should("exist")
.and("have.text", "1");
cy.get(":nth-child(2) > .MuiFormControlLabel-root")
.should("exist")
.and("have.text", "2");
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("#questionTitle").type("Заголовок вопроса");
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(`button[data-cy="button-preview"]`).click();
cy.wait(2000);
cy.get(".MuiTypography-h6")
.should("exist")
.and("have.text", "Заголовок вопроса");
cy.get(".MuiFormControlLabel-label").contains("1").should("exist");
cy.get(".MuiFormControlLabel-label").contains("2").should("exist");
cy.get(`button[data-cy="button-preview"]`).click();
cy.visit("http://localhost:3000/view");
cy.wait(2000);
// проверка введёных значений
cy.get(".MuiTypography-h5")
.should("exist")
.and("have.text", "Заголовок вопроса");
cy.get(".MuiFormControlLabel-label").contains("1").should("exist");
cy.get(".MuiFormControlLabel-label").contains("2").should("exist");
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("#questionTitle").type("Заголовок вопроса");
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(`button[data-cy="button-preview"]`).click();
cy.wait(2000);
cy.get(".MuiTypography-h6")
.should("exist")
.and("have.text", "Заголовок вопроса");
cy.get(".MuiFormControlLabel-label").contains("1").should("exist");
cy.get(".MuiFormControlLabel-label").contains("2").should("exist");
cy.get(`button[data-cy="button-preview"]`).click();
cy.visit("http://localhost:3000/view");
cy.wait(2000);
// проверка введёных значений
cy.get(".MuiTypography-h5")
.should("exist")
.and("have.text", "Заголовок вопроса");
cy.get(".MuiFormControlLabel-label").contains("1").should("exist");
cy.get(".MuiFormControlLabel-label").contains("2").should("exist");
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("#questionTitle").type("Заголовок вопроса");
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(`button[data-cy="button-preview"]`).click();
cy.wait(2000);
cy.get(".MuiTypography-h6")
.should("exist")
.and("have.text", "Заголовок вопроса");
cy.get(".MuiFormControlLabel-label").contains("1").should("exist");
cy.get(".MuiFormControlLabel-label").contains("2").should("exist");
cy.get(`button[data-cy="button-preview"]`).click();
cy.visit("http://localhost:3000/view");
cy.wait(2000);
// проверка введёных значений
cy.get(".MuiTypography-h5")
.should("exist")
.and("have.text", "Заголовок вопроса");
cy.get(".MuiFormControlLabel-label").contains("1").should("exist");
cy.get(".MuiFormControlLabel-label").contains("2").should("exist");
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("#questionTitle").type("Заголовок вопроса");
cy.get('input[placeholder="Пример ответа"]')
.eq(0)
.type("1")
.type("{enter}");
// превью
cy.get(`button[data-cy="button-preview"]`).click();
cy.wait(2000);
cy.get(".MuiTypography-h6")
.should("exist")
.and("have.text", "Заголовок вопроса");
cy.get('input[placeholder="1"]').should("exist");
cy.get(`button[data-cy="button-preview"]`).click();
cy.visit("http://localhost:3000/view");
cy.wait(2000);
// проверка введёных значений
cy.get(".MuiTypography-h5")
.should("exist")
.and("have.text", "Заголовок вопроса");
cy.get('input[placeholder="1"]').should("exist");
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("#questionTitle").type("Заголовок вопроса");
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(`button[data-cy="button-preview"]`).click();
cy.wait(2000);
cy.get(".MuiTypography-h6")
.should("exist")
.and("have.text", "Заголовок вопроса");
cy.get(".MuiFormControlLabel-label").contains("1").should("exist");
cy.get(".MuiFormControlLabel-label").contains("2").should("exist");
cy.get(`button[data-cy="button-preview"]`).click();
cy.visit("http://localhost:3000/view");
cy.wait(2000);
// проверка введёных значений
cy.get(".MuiTypography-h5")
.should("exist")
.and("have.text", "Заголовок вопроса");
cy.get(".MuiFormControlLabel-label").contains("1").should("exist");
cy.get(".MuiFormControlLabel-label").contains("2").should("exist");
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.get("#questionTitle").type("Заголовок вопроса");
// превью
cy.get(`button[data-cy="button-preview"]`).click();
cy.wait(2000);
cy.get(".MuiTypography-h6")
.should("exist")
.and("have.text", "Заголовок вопроса");
cy.get(`button[data-cy="button-preview"]`).click();
cy.visit("http://localhost:3000/view");
cy.wait(2000);
// проверка введёных значений
cy.get(".MuiTypography-h5")
.should("exist")
.and("have.text", "Заголовок вопроса");
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.get("#questionTitle").type("Заголовок вопроса");
// превью
cy.get(`button[data-cy="button-preview"]`).click();
cy.wait(2000);
cy.get(".MuiTypography-h6")
.should("exist")
.and("have.text", "Заголовок вопроса");
cy.get(".MuiTypography-p")
.should("exist")
.and("have.text", "Заголовок вопроса");
cy.get(`button[data-cy="button-preview"]`).click();
cy.visit("http://localhost:3000/view");
cy.wait(2000);
// проверка введёных значений
cy.get(".MuiTypography-h5")
.should("exist")
.and("have.text", "Заголовок вопроса");
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.get("#questionTitle").type("Заголовок вопроса");
// превью
cy.get(`button[data-cy="button-preview"]`).click();
cy.wait(2000);
cy.get(".MuiTypography-h6")
.should("exist")
.and("have.text", "Заголовок вопроса");
cy.get(`button[data-cy="button-preview"]`).click();
cy.visit("http://localhost:3000/view");
cy.wait(2000);
// проверка введёных значений
cy.get(".MuiTypography-h5")
.should("exist")
.and("have.text", "Заголовок вопроса");
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-page"]`).click();
cy.get(
'[data-cy="checkbox-optional-question"] > .PrivateSwitchBase-input',
).click();
cy.get("#questionTitle").type("Заголовок вопроса");
cy.get("#addText").type("Добавляю текст");
// превью
cy.get(`button[data-cy="button-preview"]`).click();
cy.wait(2000);
cy.get(".MuiTypography-h6")
.should("exist")
.and("have.text", "Заголовок вопроса");
cy.get(".MuiTypography-p")
.should("exist")
.and("have.text", "Добавляю текст");
cy.get(`button[data-cy="button-preview"]`).click();
cy.visit("http://localhost:3000/view");
cy.wait(2000);
// проверка введёных значений
cy.get(".MuiTypography-h5")
.should("exist")
.and("have.text", "Заголовок вопроса");
cy.get(".MuiTypography-p")
.should("exist")
.and("have.text", "Добавляю текст");
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.get("#questionTitle").type("Заголовок вопроса");
// превью
cy.get(`button[data-cy="button-preview"]`).click();
cy.wait(2000);
cy.get(".MuiTypography-h6")
.should("exist")
.and("have.text", "Заголовок вопроса");
cy.get(`button[data-cy="button-preview"]`).click();
cy.visit("http://localhost:3000/view");
cy.wait(2000);
// проверка введёных значений
cy.get(".MuiTypography-h5")
.should("exist")
.and("have.text", "Заголовок вопроса");
cy.wait(500);
cy.get('[data-cy="delete-question"]').click();
cy.wait(5000);
cy.get('[data-cy="create-question"]').click();
});
});