def do_user_registration(driver, profile, base_url): main_page = MainPage(driver) main_page.get() main_page.click_set_up_account() registration_page = RegistrationPage(driver) assert registration_page.is_current() registration_page.register(profile) assert driver.current_url == base_url + "/registration-continue" registration_link = get_link(profile, profile.registration_template_id, profile.email) driver.get(registration_link) do_verify(driver, profile) add_service_page = AddServicePage(driver) assert add_service_page.is_current() add_service_page.add_service(profile.service_name) dashboard_page = DashboardPage(driver) service_id = dashboard_page.get_service_id() dashboard_page.go_to_dashboard_for_service(service_id) assert dashboard_page.h2_is_service_name(profile.service_name)
def do_user_can_invite_someone_to_notify(driver, profile, base_url): dashboard_page = DashboardPage(driver) dashboard_page.click_team_members_link() team_members_page = TeamMembersPage(driver) assert team_members_page.h1_is_team_members() team_members_page.click_invite_user() invite_user_page = InviteUserPage(driver) invited_user_randomness = str(uuid.uuid1()) invited_user_name = "Invited User " + invited_user_randomness invite_email = generate_unique_email(profile.email, invited_user_randomness) invite_user_page.fill_invitation_form(invite_email, send_messages=True) invite_user_page.send_invitation() invite_user_page.sign_out() invite_user_page.wait_until_url_is(base_url) # next part of interaction is from point of view of invitee # i.e. after visting invite_link we'll be registering using invite_email # but use same mobile number and password as profile invite_link = get_link(profile, profile.invitation_template_id, invite_email) driver.get(invite_link) register_from_invite_page = RegisterFromInvite(driver) register_from_invite_page.fill_registration_form(invited_user_name, profile) register_from_invite_page.click_continue() do_verify(driver, profile) dashboard_page = DashboardPage(driver) service_id = dashboard_page.get_service_id() dashboard_page.go_to_dashboard_for_service(service_id) assert dashboard_page.h2_is_service_name(profile.service_name) dashboard_page.sign_out() dashboard_page.wait_until_url_is(base_url)