use of fi.otavanopisto.muikku.mock.model.MockCourseStudent in project muikku by otavanopisto.
the class CourseUsersTestsBase method courseUnarchiveStudentTest.
@Test
public void courseUnarchiveStudentTest() throws 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());
Builder mockBuilder = mocker();
try {
mockBuilder.addStaffMember(admin).mockLogin(admin).build();
login();
Long courseId = 1l;
Workspace workspace = createWorkspace("testcourse", "test course for testing", String.valueOf(courseId), Boolean.TRUE);
MockCourseStudent courseStudent = new MockCourseStudent(2l, courseId, student.getId());
CourseStaffMember courseStaffMember = new CourseStaffMember(1l, courseId, admin.getId(), 7l);
mockBuilder.addStudent(student).addCourseStaffMember(courseId, courseStaffMember).addCourseStudent(courseId, courseStudent).build();
try {
navigate(String.format("/workspace/%s/users", workspace.getUrlName()), true);
waitForPresent(".workspace-students-listing-wrapper .workspace-users-name");
waitAndClick("div[data-user-id='PYRAMUS-STUDENT-2']>div.workspace-users-archive");
waitAndClick(".archive-button");
waitForClickable(".workspace-students-inactive");
waitAndClick(".workspace-students-inactive");
waitAndClick("div[data-user-id='PYRAMUS-STUDENT-2']>div.workspace-users-unarchive");
waitAndClick(".unarchive-button");
waitForPresentAndVisible(".workspace-students-listing-wrapper");
ObjectMapper objectMapper = new ObjectMapper().registerModule(new JSR310Module()).disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
String payload = objectMapper.writeValueAsString(new WebhookStudentUpdatePayload(2l));
TestUtilities.webhookCall("http://dev.muikku.fi:" + getPortHttp() + "/pyramus/webhook", payload);
reloadCurrentPage();
waitForPresent(".workspace-students-list");
waitAndClick(".workspace-students-active");
waitForPresent(".workspace-students-list");
assertPresent("div[data-user-id='PYRAMUS-STUDENT-2']");
} finally {
deleteWorkspace(workspace.getId());
}
} finally {
mockBuilder.wiremockReset();
mockBuilder.resetBuilder();
}
}
use of fi.otavanopisto.muikku.mock.model.MockCourseStudent in project muikku by otavanopisto.
the class CourseUsersTestsBase method courseUsersListTest.
@Test
public void courseUsersListTest() throws 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());
Builder mockBuilder = mocker();
try {
mockBuilder.addStaffMember(admin).mockLogin(admin).build();
login();
Long courseId = 1l;
Workspace workspace = createWorkspace("testcourse", "test course for testing", String.valueOf(courseId), Boolean.TRUE);
MockCourseStudent courseStudent = new MockCourseStudent(2l, courseId, student.getId());
CourseStaffMember courseStaffMember = new CourseStaffMember(1l, courseId, admin.getId(), 7l);
mockBuilder.addStudent(student).addCourseStaffMember(courseId, courseStaffMember).addCourseStudent(courseId, courseStudent).build();
try {
navigate(String.format("/workspace/%s/users", workspace.getUrlName()), true);
waitForPresent(".workspace-students-listing-wrapper .workspace-users-name");
assertText(".workspace-students-listing-wrapper .workspace-users-name", "Tester, Student (Test Study Programme)");
waitForPresent(".workspace-teachers-listing-wrapper .workspace-users-name");
assertText(".workspace-teachers-listing-wrapper .workspace-users-name", "User, Admin");
} finally {
deleteWorkspace(workspace.getId());
}
} finally {
mockBuilder.wiremockReset();
mockBuilder.resetBuilder();
}
}
use of fi.otavanopisto.muikku.mock.model.MockCourseStudent in project muikku by otavanopisto.
the class EvaluationTestsBase method reEvaluateStudentWorkspaceMaterialTest.
@Test
@TestEnvironments(browsers = { TestEnvironments.Browser.CHROME, TestEnvironments.Browser.FIREFOX, TestEnvironments.Browser.INTERNET_EXPLORER, TestEnvironments.Browser.EDGE, TestEnvironments.Browser.SAFARI })
public void reEvaluateStudentWorkspaceMaterialTest() throws 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());
Builder mockBuilder = mocker();
try {
mockBuilder.addStudent(student).addStaffMember(admin).mockLogin(admin).build();
Long courseId = 1l;
login();
Workspace workspace = createWorkspace("testcourse", "test course for testing", String.valueOf(courseId), Boolean.TRUE);
MockCourseStudent courseStudent = new MockCourseStudent(2l, courseId, student.getId());
CourseStaffMember courseStaffMember = new CourseStaffMember(1l, courseId, admin.getId(), 7l);
mockBuilder.addCourseStaffMember(courseId, courseStaffMember).addCourseStudent(courseId, courseStudent).build();
try {
WorkspaceFolder workspaceFolder1 = createWorkspaceFolder(workspace.getId(), null, Boolean.FALSE, 1, "Test Course material folder", "DEFAULT");
WorkspaceHtmlMaterial htmlMaterial = createWorkspaceHtmlMaterial(workspace.getId(), workspaceFolder1.getId(), "Test", "text/html;editor=CKEditor", "<p><object type=\"application/vnd.muikku.field.text\"><param name=\"type\" value=\"application/json\" /><param name=\"content\" value=\"{"name":"muikku-field-nT0yyez23QwFXD3G0I8HzYeK","rightAnswers":[],"columns":"","hint":""}\" /></object></p>", 1l, "EVALUATED");
try {
Long assessorId = getUserEntityIdForIdentifier(String.format("STAFF-%s", admin.getId()));
logout();
mockBuilder.mockLogin(student).build();
login();
navigate(String.format("/workspace/%s/materials", workspace.getUrlName()), true);
waitForPresent(String.format("#page-%d", htmlMaterial.getId()));
assertVisible(String.format("#page-%d .muikku-text-field", htmlMaterial.getId()));
assertValue(String.format("#page-%d .muikku-text-field", htmlMaterial.getId()), "");
assertClassNotPresent(String.format("#page-%d .muikku-text-field", htmlMaterial.getId()), "muikku-field-saved");
sendKeys(String.format("#page-%d .muikku-text-field", htmlMaterial.getId()), "field value");
waitClassPresent(String.format("#page-%d .muikku-text-field", htmlMaterial.getId()), "muikku-field-saved");
waitAndClick(String.format("#page-%d .muikku-submit-assignment", htmlMaterial.getId()));
waitForPresentAndVisible(".notification-queue-item-success");
waitForElementToBeClickable(String.format("#page-%d .muikku-withdraw-assignment", htmlMaterial.getId()));
logout();
mockBuilder.mockLogin(admin).build();
login();
navigate(String.format("/evaluation"), true);
waitAndClick("#filter-students-by-assessment-requested");
waitAndClick(".assignment-submitted");
addTextToCKEditor("Test evaluation.");
selectOption("#grade", "1/PYRAMUS@1/PYRAMUS");
selectOption("select[name='assessor']", assessorId.toString());
click(".save-evaluation-button");
waitForPresentAndVisible(".evaluation-assignment-wrapper");
assertClassPresent(".evaluation-assignment-wrapper", "assignment-evaluated");
// Re-evaluation
waitAndClick(".assignment-submitted");
waitForPresent("#grade");
assertValue("#grade", "1/PYRAMUS@1/PYRAMUS");
waitForPresent("select[name='assessor']");
assertValue("select[name='assessor']", assessorId.toString());
waitForPresent(".cke_contents");
assertEquals("Test evaluation.", getCKEditorContent());
addTextToCKEditor("Test evaluation in re-evaluation.");
selectOption("#grade", "2/PYRAMUS@1/PYRAMUS");
selectOption("select[name='assessor']", assessorId.toString());
click(".save-evaluation-button");
waitForPresentAndVisible(".evaluation-assignment-wrapper");
waitAndClick(".assignment-submitted");
waitForPresent("#grade");
assertValue("#grade", "2/PYRAMUS@1/PYRAMUS");
waitForPresent("select[name='assessor']");
assertValue("select[name='assessor']", assessorId.toString());
waitForPresent(".cke_contents");
assertEquals("Test evaluation.Test evaluation in re-evaluation.", getCKEditorContent());
} finally {
deleteWorkspaceHtmlMaterial(workspace.getId(), htmlMaterial.getId());
}
} finally {
deleteWorkspace(workspace.getId());
}
} finally {
mockBuilder.wiremockReset();
}
}
use of fi.otavanopisto.muikku.mock.model.MockCourseStudent in project muikku by otavanopisto.
the class FlagTestsBase method filterByFlagTest.
@Test
public void filterByFlagTest() throws Exception {
MockStaffMember admin = new MockStaffMember(1l, 1l, "Admin", "Person", UserRole.ADMINISTRATOR, "090978-1234", "testadmin@example.com", Sex.MALE);
MockStudent student = new MockStudent(3l, 3l, "Second", "User", "teststudent@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());
MockStudent student2 = new MockStudent(4l, 4l, "Thirdester", "User", "testsostudent@example.com", 1l, OffsetDateTime.of(1990, 2, 2, 0, 0, 0, 0, ZoneOffset.UTC), "030584-5656", Sex.FEMALE, TestUtilities.toDate(2012, 1, 1), TestUtilities.getNextYear());
Builder mockBuilder = mocker();
mockBuilder.addStaffMember(admin).addStudent(student).addStudent(student2).mockLogin(admin).build();
login();
Workspace workspace = createWorkspace("testscourse", "test course for testing", "3", Boolean.TRUE);
Workspace workspace2 = createWorkspace("diffentscourse", "Second test course", "4", Boolean.TRUE);
MockCourseStudent mcs = new MockCourseStudent(3l, workspace.getId(), student.getId());
MockCourseStudent mcs2 = new MockCourseStudent(4l, workspace.getId(), student2.getId());
mockBuilder.addCourseStudent(workspace.getId(), mcs).addCourseStudent(workspace.getId(), mcs2).build();
Long flagId = createFlag("Test Flaggi", "#990000", "Fishing flags");
Long studentFlagId = flagStudent(student.getId(), flagId);
try {
navigate("/guider", true);
waitForPresentAndVisible("div.gt-user");
waitForPresentAndVisible(".gt-filters a.gt-filter-link");
click(".gt-filters a.gt-filter-link");
waitForPresent("div.gt-user .gt-user-name .gt-user-meta-topic>span");
assertTextIgnoreCase("div.gt-user .gt-user-name .gt-user-meta-topic>span", "Second User (Test Study Programme)");
} finally {
deleteStudentFlag(studentFlagId);
deleteFlag(flagId);
deleteWorkspace(workspace.getId());
deleteWorkspace(workspace2.getId());
mockBuilder.wiremockReset();
}
}
use of fi.otavanopisto.muikku.mock.model.MockCourseStudent in project muikku by otavanopisto.
the class FlagTestsBase method createNewFlagTest.
@Test
public void createNewFlagTest() throws Exception {
MockStaffMember admin = new MockStaffMember(1l, 1l, "Admin", "Person", UserRole.ADMINISTRATOR, "090978-1234", "testadmin@example.com", Sex.MALE);
MockStudent student = new MockStudent(3l, 3l, "Second", "User", "teststudent@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());
Builder mockBuilder = mocker();
mockBuilder.addStaffMember(admin).addStudent(student).mockLogin(admin).build();
login();
Workspace workspace = createWorkspace("testscourse", "test course for testing", "3", Boolean.TRUE);
Workspace workspace2 = createWorkspace("diffentscourse", "Second test course", "4", Boolean.TRUE);
MockCourseStudent mcs = new MockCourseStudent(3l, workspace.getId(), student.getId());
mockBuilder.addCourseStudent(workspace.getId(), mcs).build();
long flagId = 1;
long studentFlagId = 1;
try {
navigate("/guider", true);
waitForPresentAndVisible("div.gt-user");
click("div.gt-user .gt-user-name .gt-user-meta-topic>span");
waitForPresentAndVisible("div.gt-user .mf-item-tool-btn");
click("div.gt-user .mf-item-tool-btn");
hoverOverElement(".gt-add-flag-widget-label");
waitForPresentAndVisible(".gt-new-flag");
click(".gt-new-flag");
waitForPresent("input#guider-add-flag-dialog-color");
setAttributeBySelector("input[type=\"color\"]", "value", "#009900");
waitAndSendKeys("#guider-add-flag-dialog-name", "Test flag");
waitForPresentAndVisible(".guider-add-flag-dialog .ui-dialog-buttonset .create-button");
click(".guider-add-flag-dialog .ui-dialog-buttonset .create-button");
waitForPresent(".gt-flag>span.gt-flag-label");
reloadCurrentPage();
waitForPresent("div.gt-flag[data-flag-id]");
flagId = Long.parseLong(getAttributeValue("div.gt-flag", "data-flag-id"));
waitForPresent("div.gt-flag[data-id]");
studentFlagId = Long.parseLong(getAttributeValue("div.gt-flag", "data-id"));
waitForPresent(".gt-flag>span.gt-flag-label");
assertTextIgnoreCase(".gt-flag>span.gt-flag-label", "Test flag");
} finally {
deleteStudentFlag(studentFlagId);
deleteFlag(flagId);
deleteWorkspace(workspace.getId());
deleteWorkspace(workspace2.getId());
mockBuilder.wiremockReset();
}
}
Aggregations