def test_create_account(self, test_setup): driver = self.driver fullname = self.faker.name() email_address = self.faker.email() driver.get("https://takehome.zeachable.com/") assert driver.title == "Homepage | takehome" loggedouthome = LoggedOutHomePage(driver) loggedouthome.click_login() login = LoginPage(driver) login.click_create_account() sleep(2) assert driver.page_source.__contains__("Sign Up to takehome") account = CreateAccountPage(driver) account.enter_name(fullname) account.enter_email_address(email_address) account.enter_password("Teachable") account.enter_confirm_password("Teachable") account.agree_emails() account.agree_terms() account.click_signup() assert driver.page_source.__contains__("All Courses") assert driver.page_source.__contains__("My Courses")
def test_home_page_navigation(self, test_setup): driver = self.driver driver.get("https://takehome.zeachable.com/") assert driver.title == "Homepage | takehome" loggedouthome = LoggedOutHomePage(driver) loggedouthome.click_login() login = LoginPage(driver) sleep(2) assert driver.title == "takehome" login.navigate_to_homepage() assert driver.title == "Homepage | takehome"
def test_empty_email(self, test_setup): driver = self.driver driver.get("https://takehome.zeachable.com/") assert driver.title == "Homepage | takehome" loggedouthome = LoggedOutHomePage(driver) loggedouthome.click_login() login = LoginPage(driver) login.enter_username() login.enter_password("Teachable") login.click_login() error = login.invalid_error_message_text() assert error == "Invalid email or password."
def test_valid_login(self, test_setup): driver = self.driver driver.get("https://takehome.zeachable.com/") assert driver.title == "Homepage | takehome" loggedouthome = LoggedOutHomePage(driver) loggedouthome.click_login() login = LoginPage(driver) login.enter_username("*****@*****.**") login.enter_password("Teachable") login.click_login() assert driver.page_source.__contains__("All Courses") assert driver.page_source.__contains__("My Courses")
def test_logout(self, test_setup): driver = self.driver driver.get("https://takehome.zeachable.com/") assert driver.title == "Homepage | takehome" loggedouthome = LoggedOutHomePage(driver) loggedouthome.click_login() login = LoginPage(driver) login.enter_username("*****@*****.**") login.enter_password("Teachable") login.click_login() loggedin = LoggedInHomePage(driver) loggedin.click_login_avatar("*****@*****.**") loggedin.click_logout() assert driver.title == "Homepage | takehome"
def test_forgot_password(self, test_setup): driver = self.driver driver.get("https://takehome.zeachable.com/") assert driver.title == "Homepage | takehome" loggedouthome = LoggedOutHomePage(driver) loggedouthome.click_login() login = LoginPage(driver) login.click_forgot_password() sleep(2) assert driver.page_source.__contains__("Reset Password") forgot_password = ForgotPasswordPage(driver) forgot_password.enter_email_address("*****@*****.**") forgot_password.click_email_me() assert driver.page_source.__contains__("You will receive an email with instructions on how to " "reset your password in a few minutes.")