Search in sources :

Example 1 with LoginPage

use of teammates.test.pageobjects.LoginPage in project teammates by TEAMMATES.

the class StudentFeedbackResultsPageUiTest method testAll.

@Test
public void testAll() throws Exception {
    ______TS("unreg student");
    logout();
    // Open Session
    StudentAttributes unreg = testData.students.get("DropOut");
    resultsPage = loginToStudentFeedbackResultsPage(unreg, "Open Session", StudentFeedbackResultsPage.class);
    resultsPage.verifyHtmlMainContent("/unregisteredStudentFeedbackResultsPageOpen.html");
    // Mcq Session
    resultsPage = loginToStudentFeedbackResultsPage(unreg, "MCQ Session", StudentFeedbackResultsPage.class);
    // This is the full HTML verification for Unregistered Student Feedback Results Page,
    // the rest can all be verifyMainHtml
    resultsPage.verifyHtml("/unregisteredStudentFeedbackResultsPageMCQ.html");
    ______TS("no responses");
    resultsPage = loginToStudentFeedbackResultsPage("Alice", "Empty Session");
    // This is the full HTML verification for Registered Student Feedback Results Page,
    // the rest can all be verifyMainHtml
    resultsPage.verifyHtml("/studentFeedbackResultsPageEmpty.html");
    ______TS("standard session results");
    resultsPage = loginToStudentFeedbackResultsPage("Alice", "Open Session");
    resultsPage.verifyHtmlMainContent("/studentFeedbackResultsPageOpen.html");
    ______TS("team-to-team session results");
    resultsPage = loginToStudentFeedbackResultsPage("Benny", "Open Session");
    resultsPage.verifyHtmlMainContent("/studentFeedbackResultsPageTeamToTeam.html");
    ______TS("MCQ session results");
    resultsPage = loginToStudentFeedbackResultsPage("Alice", "MCQ Session");
    resultsPage.verifyHtmlMainContent("/studentFeedbackResultsPageMCQ.html");
    String additionalInfoId = "";
    int qnNumber = 4;
    verifyQuestionAdditionalInfoExpand(qnNumber, additionalInfoId);
    verifyQuestionAdditionalInfoCollapse(qnNumber, additionalInfoId);
    additionalInfoId = "";
    qnNumber = 5;
    verifyQuestionAdditionalInfoExpand(qnNumber, additionalInfoId);
    verifyQuestionAdditionalInfoCollapse(qnNumber, additionalInfoId);
    ______TS("MSQ session results");
    resultsPage = loginToStudentFeedbackResultsPage("Alice", "MSQ Session");
    resultsPage.verifyHtmlMainContent("/studentFeedbackResultsPageMSQ.html");
    additionalInfoId = "";
    qnNumber = 4;
    verifyQuestionAdditionalInfoExpand(qnNumber, additionalInfoId);
    verifyQuestionAdditionalInfoCollapse(qnNumber, additionalInfoId);
    additionalInfoId = "";
    qnNumber = 5;
    verifyQuestionAdditionalInfoExpand(qnNumber, additionalInfoId);
    verifyQuestionAdditionalInfoCollapse(qnNumber, additionalInfoId);
    ______TS("NUMSCALE session results");
    resultsPage = loginToStudentFeedbackResultsPage("Alice", "NUMSCALE Session");
    resultsPage.verifyHtmlMainContent("/studentFeedbackResultsPageNUMSCALE.html");
    ______TS("CONSTSUM session results");
    resultsPage = loginToStudentFeedbackResultsPage("Alice", "CONSTSUM Session");
    resultsPage.verifyHtmlMainContent("/studentFeedbackResultsPageCONSTSUM.html");
    ______TS("CONTRIB session results");
    resultsPage = loginToStudentFeedbackResultsPage("Alice", "CONTRIB Session");
    resultsPage.verifyHtmlMainContent("/studentFeedbackResultsPageCONTRIB.html");
    ______TS("unreg student logged in as a student in another course: registered after logging out");
    String student1Username = TestProperties.TEST_STUDENT1_ACCOUNT;
    String student1Password = TestProperties.TEST_STUDENT1_PASSWORD;
    logout();
    LoginPage loginPage = AppPage.getNewPageInstance(browser, HomePage.class).clickStudentLogin();
    loginPage.loginAsStudent(student1Username, student1Password);
    StudentCourseJoinConfirmationPage confirmationPage = loginToStudentFeedbackResultsPage(unreg, "Open Session", StudentCourseJoinConfirmationPage.class);
    confirmationPage.verifyHtmlMainContent("/studentCourseJoinConfirmationLoggedInHTML.html");
    loginPage = confirmationPage.clickCancelButton();
    loginPage.loginAsStudent(student1Username, student1Password, StudentFeedbackResultsPage.class);
    resultsPage.verifyHtmlMainContent("/studentFeedbackResultsPageNewlyRegistered.html");
    // clear the googleId
    BackDoor.editStudent(unreg.email, unreg);
    ______TS("unreg student logged in as a student in another course: registered without logging out");
    logout();
    loginPage = AppPage.getNewPageInstance(browser, HomePage.class).clickStudentLogin();
    loginPage.loginAsStudent(student1Username, student1Password);
    confirmationPage = loginToStudentFeedbackResultsPage(unreg, "Open Session", StudentCourseJoinConfirmationPage.class);
    confirmationPage.verifyHtmlMainContent("/studentCourseJoinConfirmationLoggedInHTML.html");
    resultsPage = confirmationPage.clickConfirmButton(StudentFeedbackResultsPage.class);
    resultsPage.verifyHtmlMainContent("/studentFeedbackResultsPageNewlyRegistered.html");
    BackDoor.deleteStudent(unreg.course, unreg.email);
}
Also used : StudentFeedbackResultsPage(teammates.test.pageobjects.StudentFeedbackResultsPage) HomePage(teammates.test.pageobjects.HomePage) StudentAttributes(teammates.common.datatransfer.attributes.StudentAttributes) LoginPage(teammates.test.pageobjects.LoginPage) StudentCourseJoinConfirmationPage(teammates.test.pageobjects.StudentCourseJoinConfirmationPage) Test(org.testng.annotations.Test)

Example 2 with LoginPage

use of teammates.test.pageobjects.LoginPage in project teammates by TEAMMATES.

the class BaseUiTestCase method loginInstructorToPage.

/**
 * Logs in a page as an instructor.
 */
protected <T extends AppPage> T loginInstructorToPage(String instructorGoogleId, String password, AppUrl url, Class<T> typeOfPage) {
    // logout
    logout();
    // load the page to be checked
    browser.driver.get(url.toAbsoluteString());
    // login based on the login page type
    LoginPage loginPage = AppPage.createCorrectLoginPageType(browser);
    loginPage.loginAsInstructor(instructorGoogleId, password, typeOfPage);
    // After login, the browser will redirect to the original page requested
    return AppPage.getNewPageInstance(browser, typeOfPage);
}
Also used : LoginPage(teammates.test.pageobjects.LoginPage)

Example 3 with LoginPage

use of teammates.test.pageobjects.LoginPage in project teammates by TEAMMATES.

the class BaseUiTestCase method loginAdminToPage.

/**
 * Logs in a page using admin credentials (i.e. in masquerade mode).
 */
protected <T extends AppPage> T loginAdminToPage(AppUrl url, Class<T> typeOfPage) {
    if (browser.isAdminLoggedIn) {
        browser.driver.get(url.toAbsoluteString());
        try {
            return AppPage.getNewPageInstance(browser, typeOfPage);
        } catch (Exception e) {
            // ignore and try to logout and login again if fail.
            ignorePossibleException();
        }
    }
    // logout and attempt to load the requested URL. This will be
    // redirected to a dev-server/google login page
    logout();
    browser.driver.get(url.toAbsoluteString());
    String adminUsername = TestProperties.TEST_ADMIN_ACCOUNT;
    String adminPassword = TestProperties.TEST_ADMIN_PASSWORD;
    String instructorId = url.get(Const.ParamsNames.USER_ID);
    if (instructorId == null) {
        // admin using system as admin
        instructorId = adminUsername;
    }
    // login based on the login page type
    LoginPage loginPage = AppPage.createCorrectLoginPageType(browser);
    loginPage.loginAdminAsInstructor(adminUsername, adminPassword, instructorId);
    // No need to reload. In fact, reloading might results in duplicate request to the server.
    return AppPage.getNewPageInstance(browser, typeOfPage);
}
Also used : IOException(java.io.IOException) LoginPage(teammates.test.pageobjects.LoginPage)

Example 4 with LoginPage

use of teammates.test.pageobjects.LoginPage in project teammates by TEAMMATES.

the class AllAccessControlUiTests method loginInstructorUnsuccessfully.

private void loginInstructorUnsuccessfully(String userName, String password) {
    logout();
    LoginPage loginPage = getHomePage().clickInstructorLogin();
    currentPage = loginPage.loginAsInstructorUnsuccessfully(userName, password);
}
Also used : LoginPage(teammates.test.pageobjects.LoginPage)

Example 5 with LoginPage

use of teammates.test.pageobjects.LoginPage in project teammates by TEAMMATES.

the class AllAccessControlUiTests method loginInstructor.

private void loginInstructor(String userName, String password) {
    logout();
    LoginPage loginPage = getHomePage().clickInstructorLogin();
    currentPage = loginPage.loginAsInstructor(userName, password);
}
Also used : LoginPage(teammates.test.pageobjects.LoginPage)

Aggregations

LoginPage (teammates.test.pageobjects.LoginPage)6 IOException (java.io.IOException)1 Test (org.testng.annotations.Test)1 StudentAttributes (teammates.common.datatransfer.attributes.StudentAttributes)1 HomePage (teammates.test.pageobjects.HomePage)1 StudentCourseJoinConfirmationPage (teammates.test.pageobjects.StudentCourseJoinConfirmationPage)1 StudentFeedbackResultsPage (teammates.test.pageobjects.StudentFeedbackResultsPage)1