def test_sign_in_with_invalid_credentials(self):
     user = User(user_1)
     LoginPage().open().login(
         " ", user.password).email_error_message.should(be.visible)
     LoginPage().login(user.email,
                       " ").password_error_message.should(be.visible)
     LoginPage().login(user.email,
                       "1111").password_error_message.should(be.visible)
    def test_user_can_resolve_request(self):
        user1 = User(user_1)
        user2 = User(user_2)
        request_text = self.execute_date + 'test_user_can_dismiss_request'
        sess = self.sess

        ApiMethods(sess).login_as_user(user2)
        request_payload = RequestPayload(
            [user1], text=request_text).generate_request_data()

        (ApiMethods(sess).send_request(request_payload.json))

        (LoginPage().open().login(user1.email, user1.password))
        time.sleep(1)

        rq = RequestsPage().open().get_request_by_text(request_text)
        rq.send_feedback_button.click()

        FeedbackRequestPopup().feedback_request_popup.should(be.visible)

        (FeedbackRequestPopup().type_text(
            request_text).click_send_feedback_button())

        fb = FeedbackPage().open_sent().get_feedback_by_text(request_text)
        assert fb is not None
Пример #3
0
    def test_user_can_deactivate_survey(self):
        user = User(user_1)
        title = 'test_activate ' + self.execute_date
        print(title)
        payload = SurveyPayload(title)
        survey = payload.add_text_question(
            'question_1').generate_new_survey_data_run_now()
        sess = self.sess
        ApiMethods(sess).login_as_user(user)
        id = ApiMethods(sess).create_survey(survey).json()['id']
        ApiMethods(sess).deactivate_survey(id)

        LoginPage().open().login_as_user(user)
        time.sleep(0.5)

        SurveyDetailsPage().open_by_id(id)
        time.sleep(0.5)

        SurveyDetailsPage().set_survey_live()
        SurveyDetailsPage().pause_button.should(have.text('Pause'))
        time.sleep(0.5)

        SurveyPage().open().get_survey_by_text(title).paused_label.should_not(
            be.visible)

        survey = ApiMethods(sess).get_survey_by_id(id)
        print(survey.schedule['is_active'])
        assert survey.schedule['is_active'] is True
    def test_user_can_send_public_feedback_to_team(self):

        user = User(user_1)
        team = Team(team_34)
        feedback_text = self.execute_date + 'test_user_can_send_public_feedback_to_team'

        LoginPage().open().login(user.email, user.password)

        FeedbackPage().send_feedback_button.click()

        (FeedbackRequestPopup()
         .type_recipient(team.name)
         .make_public()
         .add_text(feedback_text)
         .click_send_feedback_button())

        fb = FeedbackPage().open_sent().get_feedback_by_text(feedback_text)
        assert fb is not None

        fb.people.should(have.text('firstname1'))
        fb.people.should(have.text('team'))
        fb.to_praise_link.should(have.text('Added to praise'))

        fb = FeedbackPage().open_added_to_praise().get_feedback_by_text(feedback_text)
        assert fb is not None
    def test_user_can_send_private_feedback_to_user(self):

        user1 = User(user_1)
        user2 = User(user_2)
        feedback_text = self.execute_date + 'test_user_can_send_private_feedback_to_user'

        LoginPage().open().login(user1.email, user1.password)

        FeedbackPage().send_feedback_button.click()

        (FeedbackRequestPopup()
         .type_recipient(user2.full_name)
         .add_value()
         .add_template_to_feedback()
         .add_text(feedback_text)
         .click_send_feedback_button())

        fb = FeedbackPage().open_sent().get_feedback_by_text(feedback_text)

        assert fb is not None

        fb.value.should(be.visible)
        fb.people.should(have.text('firstname1'))
        fb.people.should(have.text('firstname2'))
        fb.to_praise_link.should(have.text('Add to praise'))
        fb.flag_link.should(have.text('Flag for follow-up'))

        fb = FeedbackPage().open_added_to_praise().get_feedback_by_text(feedback_text)

        assert fb is None
Пример #6
0
    def setUpClass(cls):
        cls.execute_date = datetime.datetime.today().strftime('%c')
        cls.user1 = User(user_1)
        cls.user2 = User(user_2)
        cls.user3 = User(user_3)
        cls.team13 = Team(team_13)
        cls.team34 = Team(team_34)

        cls.fb1 = FeedbackPayload().generate_feedback_to_send([cls.user1], cls.execute_date)
        cls.fb2 = FeedbackPayload().generate_feedback_to_send([cls.user1], cls.execute_date, is_shared=True)
        cls.fb3 = FeedbackPayload().generate_feedback_to_send([cls.user3], cls.execute_date)
        cls.fb4 = FeedbackPayload().generate_feedback_to_send([cls.user3], cls.execute_date, is_shared=True)
        cls.fb5 = FeedbackPayload().generate_feedback_to_send([cls.team13], cls.execute_date)
        cls.fb6 = FeedbackPayload().generate_feedback_to_send([cls.team34], cls.execute_date)

        sess = requests.session()
        ApiMethods(sess).login_as_user(cls.user2)
        fb = ApiMethods(sess)
        fb.send_feedback(cls.fb1.json_for_send)
        fb.send_feedback(cls.fb2.json_for_send)
        fb.send_feedback(cls.fb3.json_for_send)
        fb.send_feedback(cls.fb4.json_for_send)
        fb.send_feedback(cls.fb5.json_for_send)
        fb.send_feedback(cls.fb6.json_for_send)
        requests.session().close()
        #cls.driver = webdriver.Chrome(ChromeDriverManager().install())
        #cls.driver = webdriver.Chrome(DRIVER_PATH)
        #browser.set_driver(cls.driver)
        (LoginPage()
         .open()
         .login(cls.user1.email, cls.user1.password))
Пример #7
0
 def setUpClass(cls):
     cls.execute_date = datetime.datetime.today().strftime('%c')
     #cls.driver = webdriver.Chrome(ChromeDriverManager().install())
     # self.driver = webdriver.Chrome(DRIVER_PATH)
     #browser.set_driver(cls.driver)
     user1 = User(user_1)
     LoginPage().open().login(user1.email, user1.password)
     time.sleep(0.5)
    def test_user_can_send_request(self):
        request_text = self.execute_date + 'test_user_can_send_request'
        user1 = User(user_1)
        user2 = User(user_2)

        (LoginPage().open().login(user1.email, user1.password))
        time.sleep(1)
        browser.open_url(REQUEST_PAGE_URL)

        RequestsPage().request_feedback_button.click()

        (FeedbackRequestPopup().type_recipient(user2.full_name).type_text(
            request_text).click_send_request_button())

        RequestsPage().open()
        rq = RequestsPage().open_sent().get_request_by_text(request_text)
        assert rq is not None
    def test_user_can_dismiss_request(self):
        request_text = self.execute_date + 'test_user_can_dismiss_request'
        user1 = User(user_1)
        user2 = User(user_2)

        sess = self.sess
        ApiMethods(sess).login_as_user(user2)
        request_payload = RequestPayload(
            [user1], text=request_text).generate_request_data()

        (ApiMethods(sess).send_request(request_payload.json))

        (LoginPage().open().login(user1.email, user1.password))
        time.sleep(1)

        rq = RequestsPage().open().get_request_by_text(request_text)
        rq.dismiss_link.click()
        rq = RequestsPage().open().get_request_by_text(request_text)
        assert rq is None
    def test_user_receive_request(self):
        request_text = self.execute_date + 'test_user_receive_request'
        user1 = User(user_1)
        user2 = User(user_2)
        sess = self.sess

        ApiMethods(sess).login_as_user(user2)
        request_payload = RequestPayload(
            [user1], text=request_text).generate_request_data()

        (ApiMethods(sess).send_request(request_payload.json))

        (LoginPage().open().login(user1.email, user1.password))

        time.sleep(1)
        rq = RequestsPage().open().get_request_by_text(request_text)
        assert rq is not None
        rq.dismiss_link.should(be.visible)
        rq.send_feedback_button.should(be.visible)
        rq.send_feedback_button.should(be.enabled)
    def test_user_can_mark_recieved_feedback_with_flag(self):
        user1 = User(user_1)
        user3 = User(user_3)
        payload = FeedbackPayload().generate_feedback_to_send([user1], self.execute_date, is_shared=True)
        sess = self.sess

        ApiMethods(sess).login_as_user(user3)
        ApiMethods(sess).send_feedback(payload.json_for_send)

        LoginPage().open().login(user1.email, user1.password)
        time.sleep(0.5)

        fb = FeedbackPage().get_feedback_by_text(payload.text)
        fb.flag_link.click()
        fb = FeedbackPage().open_flagged().get_feedback_by_text(payload.text)
        assert fb is not None

        fb.flag_link.click()
        browser.driver().refresh()
        fb = FeedbackPage().get_feedback_by_text(payload.text)
        assert fb is None
    def test_user_can_add_recieved_feedback_to_praise(self):
        user1 = User(user_1)
        user2 = User(user_2)
        payload = FeedbackPayload().generate_feedback_to_send([user1], self.execute_date)
        sess = self.sess

        ApiMethods(sess).login_as_user(user2)
        ApiMethods(sess).send_feedback(payload.json_for_send)

        LoginPage().open().login(user1.email, user1.password)
        time.sleep(0.5)

        fb = FeedbackPage().get_feedback_by_text(payload.text)
        fb.to_praise_link.click()
        fb = FeedbackPage().open_added_to_praise().get_feedback_by_text(payload.text)
        assert fb is not None

        fb.to_praise_link.click()
        browser.driver().refresh()
        fb = FeedbackPage().get_feedback_by_text(payload.text)
        assert fb is None
Пример #13
0
    def test_user_can_edit_survey_delete_question(self):
        user = User(user_1)
        receiver = User(user_2)
        title = 'test_edit ' + self.execute_date
        new_title = 'new_title ' + self.execute_date
        payload = SurveyPayload(title)
        survey = payload.add_text_question('question_1').add_text_question(
            'question_2').generate_new_survey_data_run_now()
        sess = self.sess
        ApiMethods(sess).login_as_user(user)
        id = ApiMethods(sess).create_survey(survey).json()['id']

        LoginPage().open().login_as_user(user)
        time.sleep(0.5)

        SurveyDetailsPage().open_by_id(id)
        time.sleep(0.5)

        SurveyDetailsPage().edit_button.click()
        (SurveyPopup().type_name(new_title).get_question_by_id().type_question(
            'new question_1').choose_rating_option().choose_anonymous_option())
        (SurveyPopup().get_question_by_id(1).delete_question())
        (SurveyPopup().delete_receiver().delete_viewer().
         type_who_request_feedback_from(receiver).type_who_able_to_see(
             receiver).click_update())

        time.sleep(0.5)

        survey = ApiMethods(sess).get_survey_by_id(id)

        assert new_title in survey.title
        assert str(receiver.id) in survey.receivers
        assert str(receiver.id) in survey.viewers
        assert len(survey.questions) == 1
        assert survey.questions[0]['type'] == 2
        assert 'new' not in survey.questions[0]['text']
        assert survey.questions[0]['isAonymous'] == False
Пример #14
0
    def test_user_can_pause_survey(self):
        user = User(user_1)
        title = 'test_deactivate ' + self.execute_date
        payload = SurveyPayload(title)
        survey = payload.add_text_question(
            'question_1').generate_new_survey_data_run_now()
        sess = self.sess
        ApiMethods(sess).login_as_user(user)
        response = ApiMethods(sess).create_survey(survey)

        LoginPage().open().login_as_user(user)
        time.sleep(0.5)

        SurveyDetailsPage().open_by_id(response.json()['id'])
        time.sleep(0.5)

        SurveyDetailsPage().pause_survey()
        SurveyDetailsPage().pause_button.should(have.text('live'))

        survey = ApiMethods(sess).get_survey_by_id(response.json()['id'])
        assert survey.schedule["is_active"] is False

        SurveyPage().open().get_survey_by_text(title).paused_label.should(
            be.visible)
Пример #15
0
 def test_go_to_sign_up_page(self):
     LoginPage().open().signup_for_free_link.click()
     assert SIGNUP_PAGE_URL in browser.driver(
     ).current_url, "There was not redirect to signup page"
Пример #16
0
 def test_sign_in_with_slack(self):
     LoginPage().open().login_with_slack_button.click()
     assert 'slack.com' in browser.driver(
     ).current_url, 'There was not redirect to slack.com'
Пример #17
0
 def test_sign_in_with_google(self):
     LoginPage().open().login_with_google_button.click()
     assert 'accounts.google.com' in browser.driver(
     ).current_url, 'There vas not redirect to account.google.com'
Пример #18
0
 def test_sign_in_with_email(self):
     user = User(user_1)
     LoginPage().open().login_as_user(user)
     FeedbackPage().logo.should(be.visible)
     assert FEEDBACK_ALL_URL in browser.driver().current_url
Пример #19
0
    def test_user_can_create_and_answer_survey_with_all_question_types(self):
        user1 = User(user_1)
        title = 'test_types ' + self.execute_date
        question_text_public = 'text_public ' + self.execute_date
        question_text_anonym = 'text_anonym ' + self.execute_date
        question_rating_public = 'rating_public ' + self.execute_date
        question_rating_anonym = 'rating_anonym ' + self.execute_date
        LoginPage().open().login_as_user(user1)
        time.sleep(0.1)
        SurveyPage().open().create_new_survey_button.click()

        (SurveyPopup().create_empty().type_name(title).add_question().
         add_question().add_question().get_question_by_id().type_question(
             question_text_public))

        (SurveyPopup().get_question_by_id(1).type_question(
            question_text_anonym).choose_anonymous_option())

        (SurveyPopup().get_question_by_id(2).type_question(
            question_rating_public).choose_rating_option())

        (SurveyPopup().get_question_by_id(3).type_question(
            question_rating_anonym).choose_rating_option().
         choose_anonymous_option())

        SurveyPopup().run_now()
        time.sleep(0.5)

        survey = SurveyPage().get_survey_by_text(title)
        assert survey is not None
        sess = self.sess
        ApiMethods(sess).login_as_user(user1)
        survey = ApiMethods(sess).get_survey_by_title(title)
        assert survey is not None
        assert len(survey.questions) == 4
        assert survey.questions[0]['type'] == 2
        assert survey.questions[0]['is_anonymous'] is None
        assert survey.questions[1]['type'] == 2
        assert survey.questions[1]['is_anonymous'] is True
        assert survey.questions[2]['type'] == 1
        assert survey.questions[2]['is_anonymous'] is None
        assert survey.questions[3]['type'] == 1
        assert survey.questions[3]['is_anonymous'] is True

        request = RequestsPage().open().get_request_by_text(
            question_text_public)
        assert request is not None

        request.send_feedback_button.click()

        FeedbackRequestPopup().feedback_request_popup.should(be.visible)

        FeedbackRequestPopup().type_text('answer text public')
        time.sleep(0.2)
        FeedbackRequestPopup().click_send_feedback_button()
        time.sleep(0.2)
        FeedbackRequestPopup().type_text('answer text anonym')
        time.sleep(0.2)
        FeedbackRequestPopup().click_send_feedback_button()
        time.sleep(0.2)
        FeedbackRequestPopup().click_rating_item(0)
        time.sleep(1)
        FeedbackRequestPopup().click_rating_item(1)
        time.sleep(0.2)
        FeedbackRequestPopup().feedback_request_popup.should_not(be.visible)

        FeedbackPage().open_sent()
        time.sleep(0.5)
        f = FeedbackPage().get_survey_answer_by_text(question_text_public)
        assert f is not None
        f = FeedbackPage().get_survey_answer_by_text(question_text_anonym)
        assert f is not None
        f = FeedbackPage().get_survey_answer_by_text(question_rating_public)
        assert f is not None
        f = FeedbackPage().get_survey_answer_by_text(question_rating_anonym)
        assert f is not None