test: course creation flow
This commit is contained in:
@@ -5,10 +5,96 @@ describe("Course Creation", () => {
|
||||
});
|
||||
|
||||
it("creates a new course", () => {
|
||||
cy.get("button").contains("Create a Course").click();
|
||||
cy.get("button").contains("Add Tag").click();
|
||||
// Create a course
|
||||
cy.get("a.btn").contains("Create a Course").click();
|
||||
cy.wait(1000);
|
||||
cy.url().should("include", "/courses/new-course");
|
||||
cy.button("Add Tag").click();
|
||||
cy.get(".course-card-pills").type("Test");
|
||||
cy.get("#title").type("Test Course");
|
||||
cy.get("#intro").type("Test Course Short Introduction");
|
||||
cy.get("#video-link").type("-LPmw2Znl2c");
|
||||
cy.get("#published").check();
|
||||
cy.get("#description").type("Test Course Description");
|
||||
cy.wait(1000);
|
||||
cy.button("Save Course Details").click();
|
||||
|
||||
// Add Cha
|
||||
cy.wait(3000);
|
||||
cy.button("New Chapter").click();
|
||||
cy.get(".new-chapter .chapter-title-main").type("Test Chapter");
|
||||
cy.get(".new-chapter .chapter-description").type(
|
||||
"Test Chapter Description"
|
||||
);
|
||||
cy.get(".new-chapter .btn-save-chapter").click();
|
||||
|
||||
// Add Lesson
|
||||
cy.wait(3000);
|
||||
cy.get(".chapter-parent .btn-lesson").click();
|
||||
|
||||
cy.wait(3000);
|
||||
cy.get("#title").type("Test Lesson");
|
||||
cy.get("#youtube").type("GoDtyItReto");
|
||||
cy.get("#body").type("Test Lesson Content");
|
||||
cy.wait(1000);
|
||||
cy.get(".btn-lesson").click();
|
||||
|
||||
// View Course
|
||||
cy.wait(3000);
|
||||
cy.visit("/courses");
|
||||
cy.get(".course-card-title:first").contains("Test Course");
|
||||
cy.get(".course-card:first").click();
|
||||
cy.url().should("include", "/courses/test-course");
|
||||
cy.get("#title").contains("Test Course");
|
||||
cy.get(".preview-video").should(
|
||||
"have.attr",
|
||||
"src",
|
||||
"https://www.youtube.com/embed/-LPmw2Znl2c"
|
||||
);
|
||||
cy.get("#intro").contains("Test Course Short Introduction");
|
||||
|
||||
// View Chapter
|
||||
cy.get(".chapter-title-main:first").contains("Test Chapter");
|
||||
cy.get(".chapter-description:first").contains(
|
||||
"Test Chapter Description"
|
||||
);
|
||||
cy.get(".lesson-info:first").contains("Test Lesson");
|
||||
cy.get(".lesson-info:first").click();
|
||||
|
||||
// View Lesson
|
||||
cy.wait(3000);
|
||||
cy.url().should("include", "learn/1.1");
|
||||
cy.get("#title").contains("Test Lesson");
|
||||
cy.get(".lesson-video iframe").should(
|
||||
"have.attr",
|
||||
"src",
|
||||
"https://www.youtube.com/embed/GoDtyItReto"
|
||||
);
|
||||
cy.get(".lesson-content-card").contains("Test Lesson Content");
|
||||
|
||||
// Add Discussion
|
||||
cy.get(".reply").click();
|
||||
cy.wait(500);
|
||||
cy.get(".topic-title").type("Question Title");
|
||||
cy.get(".comment-field").type(
|
||||
"Question Content. This is a very long question. It contains more than once sentence. Its meant to be this long as this is a UI test."
|
||||
);
|
||||
cy.get(".submit-discussion").click();
|
||||
|
||||
// View Discussion
|
||||
cy.wait(3000);
|
||||
cy.get(".discussion-topic-title:first").contains("Question Title");
|
||||
cy.get(".sidebar-parent:first").click();
|
||||
cy.get(".reply-text").contains(
|
||||
"Question Content. This is a very long question. It contains more than once sentence. Its meant to be this long as this is a UI test."
|
||||
);
|
||||
cy.get(".comment-field:visible").type(
|
||||
"This is a reply to the previous comment. Its not that long."
|
||||
);
|
||||
cy.get(".submit-discussion:visible").click();
|
||||
cy.wait(1000);
|
||||
cy.get(".reply-text:last p").contains(
|
||||
"This is a reply to the previous comment. Its not that long."
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -42,6 +42,10 @@ Cypress.Commands.add("button", (text) => {
|
||||
return cy.get(`button:contains("${text}")`);
|
||||
});
|
||||
|
||||
Cypress.Commands.add("link", (text) => {
|
||||
return cy.get(`a:contains("${text}")`);
|
||||
});
|
||||
|
||||
Cypress.Commands.add("iconButton", (text) => {
|
||||
return cy.get(`button[aria-label="${text}"]`);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user