use of fi.otavanopisto.muikku.atests.Workspace in project muikku by otavanopisto.
the class CourseAnnouncerTestsBase method workspaceAnnouncementReadingForStudentTest.
@SuppressWarnings("deprecation")
@Test
public void workspaceAnnouncementReadingForStudentTest() throws JsonProcessingException, Exception {
MockStaffMember admin = new MockStaffMember(1l, 1l, "Admin", "User", UserRole.ADMINISTRATOR, "121212-1234", "admin@example.com", Sex.MALE);
MockStudent student = new MockStudent(2l, 2l, "Student", "Tester", "student@example.com", 1l, OffsetDateTime.of(1990, 2, 2, 0, 0, 0, 0, ZoneOffset.UTC), "121212-1212", Sex.FEMALE, TestUtilities.toDate(2012, 1, 1), TestUtilities.getNextYear());
Long courseId = 1l;
Builder mockBuilder = mocker();
mockBuilder.addStaffMember(admin).addStudent(student).mockLogin(admin).build();
login();
Workspace workspace = createWorkspace("testcourse", "test course for testing", String.valueOf(courseId), Boolean.TRUE);
MockCourseStudent mcs = new MockCourseStudent(2l, courseId, student.getId());
mockBuilder.addCourseStudent(workspace.getId(), mcs).build();
Long announcementId = createAnnouncement(admin.getId(), "Test title", "Announcer test announcement", new Date(115, 10, 12), new Date(125, 10, 12), false, true, null);
updateAnnouncementWorkspace(announcementId, workspace.getId());
logout();
mockBuilder.mockLogin(student).build();
try {
login();
navigate(String.format("/workspace/%s", workspace.getUrlName()), true);
waitForPresent(".workspace-announcement-title");
click(".workspace-announcement-title");
waitForPresent("#announcements .announcement-article h2");
assertTextIgnoreCase("#announcements .announcement-article h2", "Test title");
assertTextIgnoreCase("#announcements .announcement-article .article-datetime", "12.11.2015");
waitForPresent("#announcements .announcement-article .article-context");
assertTextIgnoreCase("#announcements .announcement-article .article-context", "announcer test announcement");
} finally {
deleteAnnouncements();
deleteWorkspace(workspace.getId());
mockBuilder.wiremockReset();
}
}
use of fi.otavanopisto.muikku.atests.Workspace in project muikku by otavanopisto.
the class CourseAnnouncerTestsBase method deleteWorkspaceAnnouncementTest.
@Test
public void deleteWorkspaceAnnouncementTest() throws JsonProcessingException, Exception {
MockStaffMember admin = new MockStaffMember(1l, 1l, "Admin", "User", UserRole.ADMINISTRATOR, "121212-1234", "admin@example.com", Sex.MALE);
Builder mockBuilder = mocker();
mockBuilder.addStaffMember(admin).mockLogin(admin).build();
login();
Workspace workspace = createWorkspace("testcourse", "test course for testing", "1", Boolean.TRUE);
try {
navigate(String.format("/workspace/%s", workspace.getUrlName()), true);
waitForPresent(".icon-cogs");
hoverOverElement(".icon-cogs");
waitAndClick(".icon-announcer");
waitAndClick(".an-new-announcement");
waitForPresent("*[name='endDate']");
clearElement("*[name='endDate']");
sendKeys("*[name='endDate']", "21.12.2025");
sendKeys(".mf-textfield-subject", "Test title");
click(".mf-form-header h3");
waitForNotVisible("#ui-datepicker-div");
addTextToCKEditor("Announcer test announcement");
waitAndClick(".mf-toolbar input[name='send']");
waitForPresent(".an-announcement-topic");
waitAndClick(".an-announcement-select input");
waitAndClick(".mf-items-toolbar .icon-delete");
waitAndClick(".mf-toolbar input[name='send']");
reloadCurrentPage();
assertTrue("Element found even though it shouldn't be there", isElementPresent(".an-announcement-topic>span") == false);
} finally {
deleteAnnouncements();
deleteWorkspace(workspace.getId());
mockBuilder.wiremockReset();
}
}
use of fi.otavanopisto.muikku.atests.Workspace in project muikku by otavanopisto.
the class CourseDiscussionTestsBase method courseDiscussionReplyTest.
@Test
@TestEnvironments(browsers = { TestEnvironments.Browser.CHROME, TestEnvironments.Browser.FIREFOX, TestEnvironments.Browser.INTERNET_EXPLORER, TestEnvironments.Browser.EDGE, TestEnvironments.Browser.SAFARI })
public void courseDiscussionReplyTest() throws Exception {
loginAdmin();
Workspace workspace = createWorkspace("testcourse", "test course for testing", "1", Boolean.TRUE);
try {
DiscussionGroup discussionGroup = createWorkspaceDiscussionGroup(workspace.getId(), "test group");
try {
Discussion discussion = createWorkspaceDiscussion(workspace.getId(), discussionGroup.getId(), "test discussion");
try {
DiscussionThread thread = createWorkspaceDiscussionThread(workspace.getId(), discussionGroup.getId(), discussion.getId(), "Testing", "<p>Testing testing daa daa</p>", false, false);
try {
navigate(String.format("/workspace/%s/discussions", workspace.getName()), true);
waitAndClick(".di-message-meta-topic>span");
waitAndClick(".di-message-reply-link");
addTextToCKEditor("Test reply for test.");
click("*[name='send']");
waitForPresent(".di-replies-container .mf-item-content-text p");
assertText(".di-replies-container .mf-item-content-text p", "Test reply for test.");
} finally {
deleteWorkspaceDiscussionThread(workspace.getId(), discussionGroup.getId(), discussion.getId(), thread.getId());
}
} finally {
deleteWorkspaceDiscussion(workspace.getId(), discussionGroup.getId(), discussion.getId());
}
} finally {
deleteWorkspaceDiscussionGroup(workspace.getId(), discussionGroup.getId());
}
} finally {
deleteWorkspace(workspace.getId());
WireMock.reset();
}
}
use of fi.otavanopisto.muikku.atests.Workspace in project muikku by otavanopisto.
the class CourseDiscussionTestsBase method courseDiscussionReplyReplyTest.
@Test
@TestEnvironments(browsers = { TestEnvironments.Browser.CHROME, TestEnvironments.Browser.FIREFOX, TestEnvironments.Browser.INTERNET_EXPLORER, TestEnvironments.Browser.EDGE, TestEnvironments.Browser.SAFARI })
public void courseDiscussionReplyReplyTest() throws Exception {
loginAdmin();
try {
Workspace workspace = createWorkspace("testcourse", "test course for testing", "1", Boolean.TRUE);
try {
DiscussionGroup discussionGroup = createWorkspaceDiscussionGroup(workspace.getId(), "test group");
try {
Discussion discussion = createWorkspaceDiscussion(workspace.getId(), discussionGroup.getId(), "test discussion");
try {
DiscussionThread thread = createWorkspaceDiscussionThread(workspace.getId(), discussionGroup.getId(), discussion.getId(), "Testing", "<p>Testing testing daa daa</p>", false, false);
try {
navigate(String.format("/workspace/%s/discussions", workspace.getName()), true);
waitAndClick(".di-message-meta-topic>span");
waitAndClick(".di-message-reply-link");
addTextToCKEditor("Test reply for test.");
waitForPresent("*[name='send']");
click("*[name='send']");
waitForPresent(".di-replies-container .mf-item-content-text p");
waitAndClick(".di-replies-page .di-reply-answer-link>span");
addTextToCKEditor("Test reply reply for test.");
waitForPresent("*[name='send']");
click("*[name='send']");
waitForPresent(".di-replies-container .di-reply-reply .mf-item-content-text p");
assertText(".di-replies-container .di-reply-reply .mf-item-content-text p", "Test reply reply for test.");
} finally {
deleteWorkspaceDiscussionThread(workspace.getId(), discussionGroup.getId(), discussion.getId(), thread.getId());
}
} finally {
deleteWorkspaceDiscussion(workspace.getId(), discussionGroup.getId(), discussion.getId());
}
} finally {
deleteWorkspaceDiscussionGroup(workspace.getId(), discussionGroup.getId());
}
} finally {
deleteWorkspace(workspace.getId());
}
} finally {
WireMock.reset();
}
}
use of fi.otavanopisto.muikku.atests.Workspace in project muikku by otavanopisto.
the class CourseDiscussionTestsBase method courseDiscussionSendMessageTest.
@Test
@TestEnvironments(browsers = { TestEnvironments.Browser.CHROME, TestEnvironments.Browser.FIREFOX, TestEnvironments.Browser.INTERNET_EXPLORER, TestEnvironments.Browser.EDGE, TestEnvironments.Browser.SAFARI })
public void courseDiscussionSendMessageTest() throws Exception {
loginAdmin();
Workspace workspace = createWorkspace("testcourse", "test course for testing", "1", Boolean.TRUE);
try {
DiscussionGroup discussionGroup = createWorkspaceDiscussionGroup(workspace.getId(), "test group");
try {
Discussion discussion = createWorkspaceDiscussion(workspace.getId(), discussionGroup.getId(), "test discussion");
try {
navigate(String.format("/workspace/%s/discussions", workspace.getName()), true);
waitAndClick(".di-new-message-button>span");
waitForPresent(".di-newmessage-form-container");
waitForPresent(".mf-textfield-subcontainer input");
sendKeys(".mf-textfield-subcontainer input", "Test title for discussion");
addTextToCKEditor("Test text for discussion.");
click("*[name='send']");
waitForPresent(".di-message-meta-content>span>p");
assertText(".di-message-meta-content>span>p", "Test text for discussion.");
} finally {
deleteWorkspaceDiscussion(workspace.getId(), discussionGroup.getId(), discussion.getId());
}
} finally {
deleteWorkspaceDiscussionGroup(workspace.getId(), discussionGroup.getId());
}
} finally {
deleteWorkspace(workspace.getId());
WireMock.reset();
}
}
Aggregations