diff --git a/cypress/e2e/image/Bunner.png b/cypress/e2e/image/Bunner.png
new file mode 100644
index 00000000..bd06b317
Binary files /dev/null and b/cypress/e2e/image/Bunner.png differ
diff --git a/cypress/e2e/quizPublish.cy.ts b/cypress/e2e/quizPublish.cy.ts
new file mode 100644
index 00000000..5f114527
--- /dev/null
+++ b/cypress/e2e/quizPublish.cy.ts
@@ -0,0 +1,286 @@
+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.contains("button", "Варианты с картинками").click();
+
+ cy.contains("label", "Необязательный вопрос").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.contains("Далее →").should("be.disabled");
+ cy.contains("div", "1").click();
+
+ cy.wait(500);
+ cy.contains("Далее →").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.contains("button", "Варианты ответов").click();
+ cy.contains("label", "Необязательный вопрос").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.contains("Далее →").should("be.disabled");
+ cy.contains("label", "1").click();
+
+ cy.wait(500);
+ cy.contains("Далее →").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.contains("button", "Варианты и картинка").click();
+ cy.contains("label", "Необязательный вопрос").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.contains("Далее →").should("be.disabled");
+ cy.contains("div", "1").click();
+
+ cy.wait(500);
+ cy.contains("Далее →").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.contains("button", "Эмоджи").click();
+ cy.contains("label", "Необязательный вопрос").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.contains("Далее →").should("be.disabled");
+ cy.contains("div", "1").click();
+
+ cy.wait(500);
+ cy.contains("Далее →").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.contains("button", "Своё поле для ввода").click();
+ cy.contains("label", "Необязательный вопрос").click();
+
+ cy.get('input[placeholder="Пример ответа"]').eq(0).type("1").type("{enter}");
+
+ cy.visit("http://localhost:3000/view");
+ cy.wait(500);
+
+ cy.contains("Далее →").should("be.disabled");
+ cy.get('input[type="text"]').type("email@invalid.com");
+
+ cy.wait(500);
+ cy.contains("Далее →").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.contains("button", "Выпадающий список").click();
+ cy.contains("label", "Необязательный вопрос").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.contains("Далее →").should("be.disabled");
+ cy.get("#display-select").click();
+ cy.get("li").eq(0).click();
+
+ cy.wait(500);
+ cy.contains("Далее →").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.contains("button", "Дата").click();
+ cy.contains("label", "Необязательный вопрос").click();
+
+ cy.visit("http://localhost:3000/view");
+ cy.wait(500);
+
+ cy.contains("Далее →").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.contains("Далее →").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.contains("button", "Ползунок").click();
+ cy.contains("label", "Необязательный вопрос").click();
+
+ cy.visit("http://localhost:3000/view");
+ cy.wait(500);
+
+ cy.contains("Далее →").should("be.disabled");
+ cy.get('input[aria-invalid="false"][id=":r0:"][placeholder="0"]').type("10");
+
+ cy.wait(500);
+ cy.contains("Далее →").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.contains("button", "Загрузка файла").click();
+ cy.contains("label", "Необязательный вопрос").click();
+
+ cy.visit("http://localhost:3000/view");
+ cy.wait(500);
+
+ cy.contains("Далее →").should("be.disabled");
+ cy.get('label.MuiButtonBase-root input[type="file"]').attachFile("./image/Bunner.png");
+
+ cy.wait(500);
+ cy.contains("Далее →").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.contains("button", "Рейтинг").click();
+ cy.contains("label", "Необязательный вопрос").click();
+
+ cy.visit("http://localhost:3000/view");
+ cy.wait(500);
+
+ cy.contains("Далее →").should("be.disabled");
+ cy.contains("label", "4 Stars").click();
+
+ cy.wait(500);
+ cy.contains("Далее →").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();
+ });
+});
diff --git a/package.json b/package.json
index d27ff52f..3208fa17 100755
--- a/package.json
+++ b/package.json
@@ -21,6 +21,7 @@
"@types/react-dnd": "^3.0.2",
"@types/react-dom": "^18.0.0",
"axios": "^1.5.1",
+ "cypress-file-upload": "^5.0.8",
"cytoscape": "^3.26.0",
"cytoscape-popper": "^2.0.0",
"dayjs": "^1.11.10",
@@ -78,6 +79,6 @@
"@types/react-beautiful-dnd": "^13.1.4",
"@types/react-cytoscapejs": "^1.2.4",
"craco-alias": "^3.0.1",
- "cypress": "^13.4.0"
+ "cypress": "^13.6.1"
}
}
diff --git a/src/pages/InstallQuiz/InstallQuiz.tsx b/src/pages/InstallQuiz/InstallQuiz.tsx
index e13a305c..c70c158b 100644
--- a/src/pages/InstallQuiz/InstallQuiz.tsx
+++ b/src/pages/InstallQuiz/InstallQuiz.tsx
@@ -104,10 +104,7 @@ export default function InstallQuiz() {
}}
>
-
+
Ссылка на квиз
-
+
-
+
Вконтакте
-
- Для публикации сниппета на стене группы, призывающего пройти тест.
-
+ Для публикации сниппета на стене группы, призывающего пройти тест.
-
+
Свой домен
-
- Подключите свой домен, если хотите, чтобы квиз открывался по вашей
- ссылке.
-
+ Подключите свой домен, если хотите, чтобы квиз открывался по вашей ссылке.
-
-
- Для публикации сниппета на стене, призывающего пройти тест,
- вставьте в новую запись ссылку на приложение
+ Для публикации сниппета на стене, призывающего пройти тест, вставьте в новую запись ссылку на приложение
-
-
- где XXXXXXXXXXX - id вашего сообщества (полный адрес ссылки
- можно узнать в браузерной строке, открыв приложение в вашей
- группе
+
+
+ где XXXXXXXXXXX - id вашего сообщества (полный адрес ссылки можно узнать в браузерной строке, открыв
+ приложение в вашей группе
@@ -496,24 +466,13 @@ export default function InstallQuiz() {
flexDirection: "column",
}}
>
-
- 2. Откройте квиз в группе (вы должны быть администратором
- группы)
+ 2. Откройте квиз в группе (вы должны быть администратором группы)
+
+ Справа снизу нажмите на значок "редактировать" В появившемся окне введите id квиза и нажмите
+ "Привязать". Готово! Квиз привязан к группе
-
- Справа снизу нажмите на значок "редактировать" В появившемся
- окне введите id квиза и нажмите "Привязать". Готово! Квиз
- привязан к группе
-
-
- ID этого квиза
-
-
+ ID этого квиза
+
@@ -555,9 +514,7 @@ export default function InstallQuiz() {
background: theme.palette.background.default,
}}
>
-
- Подключить свой домен
-
+ Подключить свой домен
- Подключите домен к проекту, чтобы создать несколько квизов на
- одном домене
+ Подключите домен к проекту, чтобы создать несколько квизов на одном домене
1. Настройте записи в регистраторе домена
- setBackgroundType("text")}
- >
+ setBackgroundType("text")}>
Для поддоменов
- setBackgroundType("video")}
- >
+ setBackgroundType("video")}>
Для доменов
@@ -623,8 +573,7 @@ export default function InstallQuiz() {
maxWidth: "372px",
}}
>
- Как подключить свой домен/поддомен к квизу? Ошибки при
- подключении домена
+ Как подключить свой домен/поддомен к квизу? Ошибки при подключении домена
@@ -655,10 +604,7 @@ export default function InstallQuiz() {
// onMouseDown={}
edge="end"
>
-
+
}
@@ -668,11 +614,8 @@ export default function InstallQuiz() {
-
- Привязка домена и обновление DNS записей может занять до 48
- часов
+
+ Привязка домена и обновление DNS записей может занять до 48 часов
Отмена
diff --git a/yarn.lock b/yarn.lock
index d1d931cd..0372fc24 100755
--- a/yarn.lock
+++ b/yarn.lock
@@ -4114,10 +4114,15 @@ csstype@^3.0.2, csstype@^3.1.2:
resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz"
integrity sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==
-cypress@^13.4.0:
- version "13.4.0"
- resolved "https://registry.npmjs.org/cypress/-/cypress-13.4.0.tgz"
- integrity sha512-KeWNC9xSHG/ewZURVbaQsBQg2mOKw4XhjJZFKjWbEjgZCdxpPXLpJnfq5Jns1Gvnjp6AlnIfpZfWFlDgVKXdWQ==
+cypress-file-upload@^5.0.8:
+ version "5.0.8"
+ resolved "https://registry.yarnpkg.com/cypress-file-upload/-/cypress-file-upload-5.0.8.tgz#d8824cbeaab798e44be8009769f9a6c9daa1b4a1"
+ integrity sha512-+8VzNabRk3zG6x8f8BWArF/xA/W0VK4IZNx3MV0jFWrJS/qKn8eHfa5nU73P9fOQAgwHFJx7zjg4lwOnljMO8g==
+
+cypress@^13.6.1:
+ version "13.6.1"
+ resolved "https://registry.yarnpkg.com/cypress/-/cypress-13.6.1.tgz#c5f714f08551666ed3ac1fa95718eabb23a416df"
+ integrity sha512-k1Wl5PQcA/4UoTffYKKaxA0FJKwg8yenYNYRzLt11CUR0Kln+h7Udne6mdU1cUIdXBDTVZWtmiUjzqGs7/pEpw==
dependencies:
"@cypress/request" "^3.0.0"
"@cypress/xvfb" "^1.2.4"