private void testAddInstructorAction() {

    ______TS("success: add an instructor");

    courseEditPage = getCourseEditPage();
    courseEditPage.addNewInstructor("Teammates Instructor", "*****@*****.**");
    courseEditPage.verifyStatus(
        String.format(
            Const.StatusMessages.COURSE_INSTRUCTOR_ADDED,
            "Teammates Instructor",
            "*****@*****.**"));

    Url courseDetailsLink =
        createUrl(Const.ActionURIs.INSTRUCTOR_COURSE_DETAILS_PAGE)
            .withCourseId(courseId)
            .withUserId(testData.instructors.get("InsCrsEdit.test").googleId);

    InstructorCourseDetailsPage courseDetailsPage =
        courseEditPage.navigateTo(courseDetailsLink, InstructorCourseDetailsPage.class);
    courseDetailsPage.verifyHtml("/instructorCourseDetailsAddInstructor.html");

    ______TS("failure: add an existing instructor");

    courseEditPage = getCourseEditPage();
    courseEditPage.addNewInstructor("Teammates Instructor", "*****@*****.**");
    courseEditPage.verifyStatus(Const.StatusMessages.COURSE_INSTRUCTOR_EXISTS);

    ______TS("failure: add an instructor with an invalid parameter");
    String invalidEmail = "InsCrsEdit.email.com";

    courseEditPage = getCourseEditPage();
    courseEditPage.addNewInstructor("Teammates Instructor", invalidEmail);
    courseEditPage.verifyStatus(
        (new FieldValidator()).getInvalidityInfo(FieldType.EMAIL, invalidEmail));
  }