Search in sources :

Example 41 with Workspace

use of fi.otavanopisto.muikku.atests.Workspace 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();
    }
}
Also used : Builder(fi.otavanopisto.muikku.mock.PyramusMock.Builder) CourseStaffMember(fi.otavanopisto.pyramus.rest.model.CourseStaffMember) MockStaffMember(fi.otavanopisto.muikku.mock.model.MockStaffMember) MockStudent(fi.otavanopisto.muikku.mock.model.MockStudent) MockCourseStudent(fi.otavanopisto.muikku.mock.model.MockCourseStudent) Workspace(fi.otavanopisto.muikku.atests.Workspace) Test(org.junit.Test) AbstractUITest(fi.otavanopisto.muikku.ui.AbstractUITest)

Example 42 with Workspace

use of fi.otavanopisto.muikku.atests.Workspace 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=\"{&quot;name&quot;:&quot;muikku-field-nT0yyez23QwFXD3G0I8HzYeK&quot;,&quot;rightAnswers&quot;:[],&quot;columns&quot;:&quot;&quot;,&quot;hint&quot;:&quot;&quot;}\" /></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();
    }
}
Also used : WorkspaceHtmlMaterial(fi.otavanopisto.muikku.atests.WorkspaceHtmlMaterial) Builder(fi.otavanopisto.muikku.mock.PyramusMock.Builder) CourseStaffMember(fi.otavanopisto.pyramus.rest.model.CourseStaffMember) MockStaffMember(fi.otavanopisto.muikku.mock.model.MockStaffMember) MockStudent(fi.otavanopisto.muikku.mock.model.MockStudent) MockCourseStudent(fi.otavanopisto.muikku.mock.model.MockCourseStudent) Workspace(fi.otavanopisto.muikku.atests.Workspace) WorkspaceFolder(fi.otavanopisto.muikku.atests.WorkspaceFolder) Test(org.junit.Test) AbstractUITest(fi.otavanopisto.muikku.ui.AbstractUITest) TestEnvironments(fi.otavanopisto.muikku.TestEnvironments)

Example 43 with Workspace

use of fi.otavanopisto.muikku.atests.Workspace 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();
    }
}
Also used : Builder(fi.otavanopisto.muikku.mock.PyramusMock.Builder) MockStaffMember(fi.otavanopisto.muikku.mock.model.MockStaffMember) MockStudent(fi.otavanopisto.muikku.mock.model.MockStudent) MockCourseStudent(fi.otavanopisto.muikku.mock.model.MockCourseStudent) Workspace(fi.otavanopisto.muikku.atests.Workspace) Test(org.junit.Test) AbstractUITest(fi.otavanopisto.muikku.ui.AbstractUITest)

Example 44 with Workspace

use of fi.otavanopisto.muikku.atests.Workspace 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();
    }
}
Also used : Builder(fi.otavanopisto.muikku.mock.PyramusMock.Builder) MockStaffMember(fi.otavanopisto.muikku.mock.model.MockStaffMember) MockStudent(fi.otavanopisto.muikku.mock.model.MockStudent) MockCourseStudent(fi.otavanopisto.muikku.mock.model.MockCourseStudent) Workspace(fi.otavanopisto.muikku.atests.Workspace) Test(org.junit.Test) AbstractUITest(fi.otavanopisto.muikku.ui.AbstractUITest)

Example 45 with Workspace

use of fi.otavanopisto.muikku.atests.Workspace in project muikku by otavanopisto.

the class FlagTestsBase method shareFlagTest.

@Test
public void shareFlagTest() throws Exception {
    MockStaffMember admin = new MockStaffMember(1l, 1l, "Admin", "Person", UserRole.ADMINISTRATOR, "090978-1234", "testadmin@example.com", Sex.MALE);
    MockStaffMember testPerson = new MockStaffMember(2l, 2l, "Test", "Person", UserRole.ADMINISTRATOR, "090979-5434", "testperson@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).addStaffMember(testPerson).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");
        click("div.gt-user .gt-user-name .gt-user-meta-topic>span");
        waitForPresentAndVisible(".gt-tool-view-profile>span");
        click(".gt-tool-view-profile>span");
        waitForPresent("div.gt-flag.icon-flag");
        hoverOverElement("div.gt-flag.icon-flag");
        waitForPresentAndVisible(".gt-share-flag");
        click(".gt-share-flag");
        waitAndSendKeys("#guider-share-flag-dialog-users", "Test");
        waitAndClick(".guider-dialog-user-search ul li.ui-menu-item");
        waitForPresent("div.shares div.share label");
        assertText("div.shares div.share label", "Test Person <testperson@example.com>");
        waitAndClick(".ui-dialog-buttonpane .save-button>span");
        waitForPresent(".gt-user-view-headline");
        reloadCurrentPage();
        logout();
        mockBuilder.mockLogin(testPerson).build();
        login();
        navigate("/guider", true);
        waitForPresentAndVisible("div.gt-user");
        click("div.gt-user .gt-user-name .gt-user-meta-topic>span");
        waitForPresentAndVisible(".gt-tool-view-profile>span");
        click(".gt-tool-view-profile>span");
        waitForPresentAndVisible(".gt-filters a.gt-filter-link");
        assertTextIgnoreCase(".gt-filters a.gt-filter-link>span:not(.icon-flag)", "Test Flaggi");
    } finally {
        deleteFlagShares(flagId);
        deleteStudentFlag(studentFlagId);
        deleteFlag(flagId);
        deleteWorkspace(workspace.getId());
        deleteWorkspace(workspace2.getId());
        mockBuilder.wiremockReset();
    }
}
Also used : Builder(fi.otavanopisto.muikku.mock.PyramusMock.Builder) MockStaffMember(fi.otavanopisto.muikku.mock.model.MockStaffMember) MockStudent(fi.otavanopisto.muikku.mock.model.MockStudent) MockCourseStudent(fi.otavanopisto.muikku.mock.model.MockCourseStudent) Workspace(fi.otavanopisto.muikku.atests.Workspace) Test(org.junit.Test) AbstractUITest(fi.otavanopisto.muikku.ui.AbstractUITest)

Aggregations

Workspace (fi.otavanopisto.muikku.atests.Workspace)95 AbstractUITest (fi.otavanopisto.muikku.ui.AbstractUITest)92 Test (org.junit.Test)92 Builder (fi.otavanopisto.muikku.mock.PyramusMock.Builder)67 MockStaffMember (fi.otavanopisto.muikku.mock.model.MockStaffMember)67 TestEnvironments (fi.otavanopisto.muikku.TestEnvironments)58 MockStudent (fi.otavanopisto.muikku.mock.model.MockStudent)46 WorkspaceFolder (fi.otavanopisto.muikku.atests.WorkspaceFolder)37 WorkspaceHtmlMaterial (fi.otavanopisto.muikku.atests.WorkspaceHtmlMaterial)37 MockCourseStudent (fi.otavanopisto.muikku.mock.model.MockCourseStudent)34 CourseStaffMember (fi.otavanopisto.pyramus.rest.model.CourseStaffMember)18 OffsetDateTime (java.time.OffsetDateTime)11 ObjectMapper (com.fasterxml.jackson.databind.ObjectMapper)7 JSR310Module (com.fasterxml.jackson.datatype.jsr310.JSR310Module)7 MockCourse (fi.otavanopisto.muikku.mock.model.MockCourse)7 Discussion (fi.otavanopisto.muikku.atests.Discussion)5 DiscussionGroup (fi.otavanopisto.muikku.atests.DiscussionGroup)5 File (java.io.File)5 DiscussionThread (fi.otavanopisto.muikku.atests.DiscussionThread)3 Course (fi.otavanopisto.pyramus.rest.model.Course)3