Esempio n. 1
0
    def test_member__safe_invite(self):
        """Use safe-members api to invite user from 1 team to anther.
          
          POST /api2/partners/teams/[team-slug]/safe-members/
        """

        #create a second team with 'second_member' as a member.
        second_user = UserFactory.create(username='******')
        second_team = TeamMemberFactory.create(
            team__name="normal team",
            team__slug='normal-team',
            team__description='this is the junior team',
            user=self.user,
        ).team
        TeamContributorMemberFactory.create(team=second_team, user=second_user)

        #Create a post the request
        user_details = {
            "username": second_user.username,
            "role": "admin",
            "note": "we need you on our team"
        }
        url_part = 'teams/%s/safe-members/' % self.open_team.slug
        status, response = self.data_utils.post_api_request(
            self.user, url_part, user_details)

        #Login in a verify invitation message is displayed
        usr_messages_pg = user_messages_page.UserMessagesPage(self)
        usr_messages_pg.log_in(second_user.username, 'password')
        usr_messages_pg.open_messages()
        invite_subject = ("You've been invited to team %s on Amara" %
                          self.open_team.name)
        self.assertEqual(invite_subject, usr_messages_pg.message_subject())
Esempio n. 2
0
    def test_member__create_contributor(self):
        """Verify video urls for a particular video are listed.
          
          POST /api2/partners/teams/[team-slug]/members/
        """

        #create a second team with 'second_member' as a member.
        second_user = UserFactory.create(username='******')
        second_team = TeamMemberFactory.create(
            team__name="normal team",
            team__slug='normal-team',
            team__description='this is the junior team',
            user=self.user,
        ).team
        TeamContributorMemberFactory.create(team=second_team, user=second_user)

        user_details = {"username": second_user.username, "role": "admin"}
        url_part = 'teams/%s/members/' % self.open_team.slug
        status, response = self.data_utils.post_api_request(
            self.user, url_part, user_details)

        self.teams_dir_pg.open_page('teams/%s/members/' % self.open_team.slug)
        self.teams_dir_pg.log_in(self.user.username, 'password')

        url_part = 'teams/%s/members/' % self.open_team.slug
        status, response = self.data_utils.api_get_request(self.user, url_part)

        self.assertNotEqual(None, response, "Got a None response")
    def test_delete__contributor(self):
        """A Contributor can not delete the team.

           DELETE /api2/partners/teams/[team-slug]/
        """
        TeamContributorMemberFactory.create(team=self.priv_team,
                                            user=self.user)
        url_part = 'teams/%s/' % self.priv_team.slug
        s, _ = self.data_utils.delete_api_request(self.user, url_part)
        self.assertEqual(s, 403)
Esempio n. 4
0
    def test_browse_suggestion__displayed(self):
        """Browse videos link displayed, when no videos found.

        """
        test_team = TeamMemberFactory.create(
            team__name='No Videos yet',
            team__slug='no-videos',
            user=self.team_owner,
        ).team
        TeamContributorMemberFactory.create(team=test_team,
                                            user=self.mono_glot)

        self.dashboard_tab.log_in(self.mono_glot.username, 'password')
        self.dashboard_tab.open_team_page(test_team.slug)
        self.assertTrue(
            self.dashboard_tab.suggestion_present(suggestion_type='browse'))
Esempio n. 5
0
    def setUpClass(cls):
        super(TestCaseViewSubtitles, cls).setUpClass()
        cls.data_utils = data_helpers.DataHelpers()
        cls.video_pg = video_page.VideoPage(cls)
        cls.user = UserFactory.create()
        cls.owner = UserFactory.create()
        cls.basic_team = TeamMemberFactory.create(
            team__workflow_enabled=False,
            team__translate_policy=20,  #any team
            team__subtitle_policy=20,  #any team
            user=cls.owner,
        ).team

        cls.team = TeamMemberFactory.create(
            team__workflow_enabled=True,
            team__translate_policy=20,  #any team
            team__subtitle_policy=20,  #any team
            team__task_assign_policy=10,  #any team
            user=cls.owner,
        ).team
        cls.workflow = WorkflowFactory(
            team=cls.team,
            autocreate_subtitle=True,
            autocreate_translate=True,
            approve_allowed=10,  # manager
            review_allowed=10,  # peer
        )
        cls.contributor = TeamContributorMemberFactory(team=cls.team).user
        cls.subs_dir = os.path.join(os.getcwd(), 'apps', 'webdriver_testing',
                                    'subtitle_data')
        cls.rev1 = os.path.join(cls.subs_dir, 'Timed_text.en.srt')
        cls.rev2 = os.path.join(cls.subs_dir, 'Timed_text.rev2.en.srt')
        de = os.path.join(cls.subs_dir, 'Timed_text.rev3.en.srt')

        cls.sv = os.path.join(cls.subs_dir, 'Timed_text.sv.dfxp')

        #Create en source language 2 revisions - approved.
        cls.video, cls.tv = cls._add_team_video()
        cls._upload_subtitles(cls.video,
                              'en',
                              cls.rev1,
                              cls.contributor,
                              complete=False)
        cls._upload_subtitles(cls.video, 'en', cls.rev2, cls.contributor)
        cls.data_utils.complete_review_task(cls.tv, 20, cls.owner)
        cls.data_utils.complete_approve_task(cls.tv, 20, cls.owner)

        #Add sv translation, reviewed
        cls._upload_translation(cls.video, 'sv', cls.sv, cls.contributor)
        cls.data_utils.complete_review_task(cls.tv, 20, cls.owner)

        #Add de translation complete waiting review
        cls._upload_translation(cls.video, 'de', cls.sv, cls.contributor)

        #Add ru translation, incomplete.
        cls._upload_translation(cls.video,
                                'ru',
                                cls.sv,
                                cls.contributor,
                                complete=False)
Esempio n. 6
0
    def setUpClass(cls):
        super(TestCaseTaskFreeDashboard, cls).setUpClass()

        cls.data_utils = data_helpers.DataHelpers()
        cls.dashboard_tab = dashboard_tab.DashboardTab(cls)

        cls.logger.info('setup: Create a team and team owner, add some videos')
        cls.team_owner = UserFactory()
        cls.team = TeamMemberFactory.create(user=cls.team_owner, ).team
        #Add some videos with various languages required.
        test_videos = [('jaws.mp4', 'fr', 'fr'),
                       ('Birds_short.oggtheora.ogg', None, None),
                       ('fireplace.mp4', 'en', 'en')]
        for vid in test_videos:
            vidurl_data = {
                'url': ('http://qa.pculture.org/amara_tests/%s' % vid[0]),
                'video__title': vid[0]
            }
            video = cls.data_utils.create_video(**vidurl_data)
            if vid[1] is not None:
                video_data = {
                    'language_code':
                    vid[1],
                    'video_language':
                    vid[2],
                    'video':
                    video.pk,
                    'draft':
                    open('apps/webdriver_testing/subtitle_data/'
                         'Timed_text.sv.dfxp'),
                    'is_complete':
                    True
                }
                cls.data_utils.upload_subs(video, video_data)

            TeamVideoFactory(video=video,
                             team=cls.team,
                             added_by=cls.team_owner)

        cls.logger.info(
            'setup: Create team members Polly Glott and Mono Glot.')
        cls.polly_glott = TeamContributorMemberFactory.create(
            team=cls.team, user=UserFactory(username='******')).user
        cls.mono_glot = TeamContributorMemberFactory.create(
            team=cls.team, user=UserFactory(username='******')).user
Esempio n. 7
0
    def setUpClass(cls):
        super(TestCaseMembersTab, cls).setUpClass()
        cls.team_dir_pg = TeamsDirPage(cls)
        cls.user_message_pg = user_messages_page.UserMessagesPage(cls)

        cls.members_tab = members_tab.MembersTab(cls)
        cls.team_owner = UserFactory.create()
        cls.team = TeamMemberFactory.create(
            team__name='Members tab roles Test', user=cls.team_owner).team
        cls.promoted_manager = TeamContributorMemberFactory.create(
            team=cls.team, user=UserFactory()).user
        cls.promoted_admin = TeamContributorMemberFactory.create(
            team=cls.team, user=UserFactory()).user
        cls.project = TeamProjectFactory.create(
            team=cls.team,
            workflow_enabled=True,
        )
        cls.members_tab.open_members_page(cls.team.slug)
Esempio n. 8
0
 def setUpClass(cls):
     super(TestCaseManageMembers, cls).setUpClass()
     cls.members_tab = members_tab.MembersTab(cls)
     cls.team_owner = UserFactory.create()
     cls.team = TeamMemberFactory.create(team__membership_policy=1,
                                         user=cls.team_owner).team
     cls.manager = TeamManagerMemberFactory.create(team=cls.team).user
     cls.admin = TeamAdminMemberFactory.create(team=cls.team).user
     cls.member = TeamContributorMemberFactory.create(team=cls.team).user
     cls.members_tab.open_members_page(cls.team.slug)
Esempio n. 9
0
    def test_public__2nd_member(self):
        """Rollback active for 2nd team member on published version

        """
        member2 = TeamContributorMemberFactory(team=self.team).user
        video, tv = self._add_team_video()
        v1, _ = self._create_complete_rev(video, self.contributor)

        self.video_lang_pg.open_video_lang_page(video.video_id, 'en')
        self.video_lang_pg.log_in(member2.username, 'password')
        self.video_lang_pg.open_page(v1.get_absolute_url())
        self.assertTrue(self.video_lang_pg.rollback_exists())
Esempio n. 10
0
    def test_unpublished__member_with_no_create_tasks(self):
        """Member can't edit unpublished version when create tasks is manager level.

        """
        self.team.task_assign_policy = 30
        self.team.save()
        team_member = TeamContributorMemberFactory(team=self.team).user
        self.video_lang_pg.log_in(team_member.username, 'password')
        self.video_lang_pg.open_video_lang_page(self.video.video_id, 'en')

        self.assertEqual(self.video_lang_pg.EDIT_INACTIVE_TEXT,
                         self.video_lang_pg.edit_subtitles_active())
Esempio n. 11
0
    def setUpClass(cls):
        super(TestCaseTeamMemberResource, cls).setUpClass()
        cls.data_utils = data_helpers.DataHelpers()
        cls.user = UserFactory.create(username='******', is_partner=True)
        cls.team_member = UserFactory.create(username='******')
        cls.data_utils.create_user_api_key(cls.user)

        #create an open team with description text and 2 members
        cls.open_team = TeamMemberFactory.create(
            team__name="A1 Waay Cool team",
            team__slug='a1-waay-cool-team',
            team__description='this is the coolest, most creative team ever',
            user=cls.user,
        ).team

        TeamContributorMemberFactory.create(
            team=cls.open_team, user=UserFactory.create(username='******'))

        #Open to the teams page so you can see what's there.
        cls.teams_dir_pg = TeamsDirPage(cls)
        cls.teams_dir_pg.open_teams_page()
Esempio n. 12
0
    def test_draft__not_task_assignee(self):
        """Rollback active for member when task not started.

        """
        member2 = TeamContributorMemberFactory(team=self.team).user
        video, tv = self._add_team_video()
        v1, _ = self._create_two_drafts(video, self.contributor)

        self.video_lang_pg.open_video_lang_page(video.video_id, 'en')
        self.video_lang_pg.log_in(member2.username, 'password')
        self.video_lang_pg.open_page(v1.get_absolute_url())
        self.assertFalse(self.video_lang_pg.rollback_exists())
Esempio n. 13
0
    def test_diffing_page__not_task_assignee(self):
        """Rollback not active for member not assigned with task.

        """
        member2 = TeamContributorMemberFactory(team=self.team).user
        video, tv = self._add_team_video()
        v1, v2 = self._create_two_drafts(video, self.contributor)

        self.video_lang_pg.open_video_lang_page(video.video_id, 'en')
        self.video_lang_pg.log_in(member2.username, 'password')

        self.diffing_pg.open_diffing_page(v1.id, v2.id)
        self.assertFalse(self.diffing_pg.rollback_exists())
Esempio n. 14
0
    def test_draft__not_task_assignee(self):
        """Edit Subtitles active for members when no workflows. 

        """
        member2 = TeamContributorMemberFactory(team=self.team).user

        video, tv = self._add_team_video()
        subs = os.path.join(self.subs_dir, 'Timed_text.en.srt')
        self._upload_en_draft(video, subs, user=self.contributor)
        self.video_lang_pg.open_video_lang_page(video.video_id, 'en')
        self.video_lang_pg.log_in(member2.username, 'password')
        self.video_lang_pg.page_refresh()
        self.assertEqual('active', self.video_lang_pg.edit_subtitles_active())
Esempio n. 15
0
    def test_public__member_with_create_tasks(self):
        """Member can rollback to draft when create tasks is any team member.

        """
        video, tv = self._add_team_video()
        v1, _ = self._create_complete_rev(video, self.contributor)
        self._review_and_approve(tv)

        member2 = TeamContributorMemberFactory(team=self.team).user
        self.video_lang_pg.open_video_lang_page(video.video_id, 'en')
        self.video_lang_pg.log_in(member2.username, 'password')

        self.video_lang_pg.open_page(v1.get_absolute_url())
        self.assertTrue(self.video_lang_pg.rollback_exists())
Esempio n. 16
0
    def test_contributor__no_edit(self):
        """Video policy: manager and admin; contributor sees no edit link.

        """
        vids = self.add_some_team_videos()
        self.logger.info('Adding user contributor to the team and logging in')
        #Create a user who is a contributor to the team.
        contributor = TeamContributorMemberFactory(
            team=self.limited_access_team,
            user=UserFactory(username='******')).user
        self.videos_tab.log_in(contributor.username, 'password')

        self.videos_tab.open_videos_tab(self.limited_access_team.slug)
        self.assertFalse(self.videos_tab.video_has_link(vids[0].title, 'Edit'))
    def setUpClass(cls):
        super(TestCaseMessages, cls).setUpClass()
        cls.data_utils = data_helpers.DataHelpers()

        cls.user = UserFactory.create()
        cls.data_utils.create_user_api_key(cls.user)

        cls.open_team = TeamMemberFactory.create(
            team__name="A1 Waay Cool team",
            team__slug='a1-waay-cool-team',
            team__description='this is the coolest, most creative team ever',
            user=cls.user,
        ).team
        cls.team_member = UserFactory.create(username='******')
        TeamContributorMemberFactory.create(team=cls.open_team,
                                            user=cls.team_member)
        for x in range(3):
            TeamContributorMemberFactory.create(team=cls.open_team,
                                                user=UserFactory.create())

        cls.second_user = UserFactory.create(username='******')
        cls.messages_pg = user_messages_page.UserMessagesPage(cls)
        cls.messages_pg.open_messages()
Esempio n. 18
0
    def test_public__member_with_create_tasks(self):
        """Member can edit public version when create tasks is any team member.

        """
        member2 = TeamContributorMemberFactory(team=self.team).user
        video, tv = self._add_team_video()
        subs = os.path.join(self.subs_dir, 'Timed_text.en.srt')
        self._upload_en_draft(video,
                              subs,
                              user=self.contributor,
                              complete=True)
        self.video_lang_pg.open_video_lang_page(video.video_id, 'en')
        self.video_lang_pg.log_in(member2.username, 'password')
        self.video_lang_pg.page_refresh()
        self.assertEqual('active', self.video_lang_pg.edit_subtitles_active())
Esempio n. 19
0
    def test_public__member_with_no_create_tasks(self):
        """Member can not rollback version when create tasks is manager level.

        """
        self.team.task_assign_policy = 30
        self.team.save()
        self.logger.info("Task assign policy: %s" %
                         self.team.task_assign_policy)
        member2 = TeamContributorMemberFactory(team=self.team).user
        video, tv = self._add_team_video()
        v1, _ = self._create_complete_rev(video, self.contributor)
        self._review_and_approve(tv)

        self.video_pg.open_video_page(video.video_id)
        self.video_lang_pg.log_in(member2.username, 'password')
        self.video_lang_pg.open_page(v1.get_absolute_url())
        self.assertFalse(self.video_lang_pg.rollback_exists())
Esempio n. 20
0
    def test_draft__task_unassigned(self):
        """Edit Subtitles inactive for unassigned task, edit via tasks panel.

        """
        member2 = TeamContributorMemberFactory(team=self.team).user

        video, tv = self._add_team_video()
        subs = os.path.join(self.subs_dir, 'Timed_text.en.srt')
        self._upload_en_draft(video, subs, user=self.contributor)
        task = list(tv.task_set.incomplete_subtitle().filter(language='en'))[0]
        task.assignee = None
        task.save()
        self.video_lang_pg.open_video_lang_page(video.video_id, 'en')
        self.video_lang_pg.log_in(member2.username, 'password')
        self.video_lang_pg.page_refresh()
        self.assertEqual(self.video_lang_pg.EDIT_VIA_TASK_TEXT,
                         self.video_lang_pg.edit_subtitles_active())
Esempio n. 21
0
    def test_add_suggestion__not_displayed(self):
        """Add videos link not displayed for user with no permissions, when no videos
          found.

        """
        test_team = TeamMemberFactory.create(
            team__name='Admin Manager Video Policy',
            team__slug='video-policy-2',
            team__video_policy=2,
            user=self.team_owner,
        ).team
        team_member = TeamContributorMemberFactory.create(
            team=test_team, user=UserFactory(username='******')).user
        self.dashboard_tab.log_in(team_member.username, 'password')
        self.dashboard_tab.open_team_page(test_team.slug)
        self.assertFalse(
            self.dashboard_tab.suggestion_present(suggestion_type='add'))
Esempio n. 22
0
    def test_approver_sent_back__reviewer(self):
        """Rollback active for reviewer after transcript fails approve.

        """
        reviewer = TeamContributorMemberFactory(team=self.team).user
        video, tv = self._add_team_video()
        v1, _ = self._create_complete_rev(video, self.contributor)

        #Accept transcript in review phase
        self.data_utils.complete_review_task(tv, 20, reviewer)
        #Reject transcript in the approve phase
        self.data_utils.complete_approve_task(tv, 30, self.owner)

        self.video_lang_pg.open_video_lang_page(video.video_id, 'en')
        self.video_lang_pg.log_in(reviewer.username, 'password')
        self.video_lang_pg.open_page(v1.get_absolute_url())
        self.assertTrue(self.video_lang_pg.rollback_exists())
Esempio n. 23
0
    def test_public__member_with_no_create_tasks(self):
        """Member can rollback to draft when create tasks is any team member.

        """
        self.team.task_assign_policy = 30
        self.team.save()
        self.logger.info("Task assign policy: %s" %
                         self.team.task_assign_policy)

        video, tv = self._add_team_video()
        v1, _ = self._create_complete_rev(video, self.contributor)

        member2 = TeamContributorMemberFactory(team=self.team).user
        self.video_lang_pg.open_video_lang_page(video.video_id, 'en')
        self.video_lang_pg.log_in(member2.username, 'password')

        self.video_lang_pg.open_page(v1.get_absolute_url())
        self.assertFalse(self.video_lang_pg.rollback_exists())
Esempio n. 24
0
    def test_contributor__tasks_permission(self):
        """Task policy: all team members; contributor sees the task link.

        """
        self.logger.info('setup: Setting task policy to all team members')
        self.limited_access_team.task_assign_policy = 10
        self.limited_access_team.save()

        vids = self.add_some_team_videos()
        #Create a user who is a contributor to the team.
        self.logger.info('Adding user contributor to the team and logging in')
        contributor = TeamContributorMemberFactory(
            team=self.limited_access_team,
            user=UserFactory(username='******')).user
        self.videos_tab.log_in(contributor.username, 'password')

        self.videos_tab.open_videos_tab(self.limited_access_team.slug)
        self.assertTrue(self.videos_tab.video_has_link(vids[0].title, 'Tasks'))
Esempio n. 25
0
    def setUpClass(cls):
        super(TestCaseDraftVideos, cls).setUpClass()
        cls.data_utils = data_helpers.DataHelpers()
        cls.video_pg = video_page.VideoPage(cls)
        cls.video_lang_pg = video_language_page.VideoLanguagePage(cls)
        cls.menu = unisubs_menu.UnisubsMenu(cls)
        cls.create_modal = dialogs.CreateLanguageSelection(cls)

        cls.user = UserFactory(username='******', is_partner=True)
        cls.data_utils.create_user_api_key(cls.user)
        #Add a team with workflows, tasks and preferred languages
        cls.logger.info('setup: Create a team with tasks enabled')
        cls.team = TeamMemberFactory.create(
            team__workflow_enabled=True,
            team__subtitle_policy=20,
            team__translate_policy=20,
            user=cls.user,
        ).team
        cls.team_workflow = WorkflowFactory(
            team=cls.team,
            autocreate_subtitle=True,
            autocreate_translate=True,
            approve_allowed=10,
            review_allowed=10,
        )
        cls.member = TeamContributorMemberFactory.create(
            team=cls.team, user=UserFactory(username='******')).user
        cls.nonmember = UserFactory()

        #Add video to team with draft subtitles
        cls.logger.info('Setup: Add video to team with draft subs.')
        cls.draft = TeamVideoFactory.create(
            team=cls.team,
            video=cls.data_utils.create_video(),
            added_by=cls.user).video
        cls.data_utils.upload_subs(cls.draft,
                                   data=None,
                                   user=dict(username=cls.user.username,
                                             password='******'))

        cls.video_pg.open_video_page(cls.draft.video_id)
        cls.video_pg.set_skiphowto()
Esempio n. 26
0
    def test_no_langs__available_tasks(self):
        """Members with no lang prefs the list of available tasks in English.

        """
        mono_glot = TeamContributorMemberFactory.create(
            team=self.team, user=UserFactory()).user
        video = self.data_utils.create_video()
        video.primary_audio_language_code = 'fr'
        video.save()
        tv = TeamVideoFactory(team=self.team, added_by=self.user, video=video)
        task = list(tv.task_set.incomplete_subtitle().filter(language='fr'))[0]
        task.assignee = mono_glot
        task.save()

        #Login user and go to team dashboard page
        self.dashboard_tab.log_in(mono_glot.username, 'password')
        self.dashboard_tab.open_team_page(self.team.slug)
        expected_lang_list = ['Create English subtitles']
        langs = self.dashboard_tab.languages_needed('fireplace.mp4')
        self.assertEqual(sorted(langs), sorted(expected_lang_list))
Esempio n. 27
0
    def test_approver_sent_back__reviewer(self):
        """Reviewer must Edit Subtitles via task after fails approve.

        """
        reviewer = TeamContributorMemberFactory(team=self.team).user

        video, tv = self._add_team_video()
        subs = os.path.join(self.subs_dir, 'Timed_text.en.srt')
        self._upload_en_draft(video,
                              subs,
                              user=self.contributor,
                              complete=True)
        #Accept transcript in review phase
        self.data_utils.complete_review_task(tv, 20, reviewer)
        #Reject transcript in the approve phase
        self.data_utils.complete_approve_task(tv, 30, self.owner)

        self.video_lang_pg.open_video_lang_page(video.video_id, 'en')
        self.video_lang_pg.log_in(reviewer.username, 'password')
        self.video_lang_pg.page_refresh()
        self.assertEqual(self.video_lang_pg.EDIT_VIA_TASK_TEXT,
                         self.video_lang_pg.edit_subtitles_active())
Esempio n. 28
0
    def test_public__member_with_no_create_tasks(self):
        """Member can't edit public version when create tasks is manager level.

        """
        self.team.task_assign_policy = 30
        self.team.save()
        self.logger.info("Task assign policy: %s" %
                         self.team.task_assign_policy)

        member2 = TeamContributorMemberFactory(team=self.team).user
        self.logger.info('Test user: %s' % member2.username)
        video, tv = self._add_team_video()
        subs = os.path.join(self.subs_dir, 'Timed_text.en.srt')
        self._upload_en_draft(video,
                              subs,
                              user=self.contributor,
                              complete=True)
        self.video_pg.open_video_page(video.video_id)
        self.video_lang_pg.log_in(member2.username, 'password')
        self.video_lang_pg.open_video_lang_page(video.video_id, 'en')
        self.assertEqual(self.video_lang_pg.EDIT_INACTIVE_TEXT,
                         self.video_lang_pg.edit_subtitles_active())
Esempio n. 29
0
    def setUpClass(cls):
        super(TestCaseTeamMessages, cls).setUpClass()
        cls.a_team_pg = ATeamPage(cls)
        cls.members_tab = members_tab.MembersTab(cls)
        cls.messages_tab = messages_tab.MessagesTab(cls)
        cls.user_message_pg = user_messages_page.UserMessagesPage(cls)
        cls.non_member = UserFactory.create(username='******')
        cls.team_owner = UserFactory.create(is_partner=True)

        #CREATE AN APPLICATION-ONLY TEAM
        cls.team = TeamMemberFactory.create(
            team__membership_policy=1,
            user=cls.team_owner,
        ).team

        cls.team_member = TeamContributorMemberFactory.create(
            user=UserFactory(), team=cls.team).user

        #ADD THE TEST MESSAGES TO THE TEST TEAM
        cls.members_tab.open_members_page(cls.team.slug)
        cls.members_tab.log_in(cls.team_owner.username, 'password')
        cls.messages_tab.open_messages_tab(cls.team.slug)
        cls.messages_tab.edit_messages(cls._TEST_MESSAGES)
Esempio n. 30
0
    def test_member__language_suggestion(self):
        """Members with no lang pref see the prompt to set language preference.

        """
        mono_glot = TeamContributorMemberFactory.create(
            team=self.team, user=UserFactory()).user
        self.dashboard_tab.open_team_page(self.team.slug)
        self.browser.delete_all_cookies()
        self.dashboard_tab.log_in(mono_glot.username, 'password')

        self.logger.info('Subtitle task for jaws video is assigned to Mono '
                         'Glot via api.')
        jaws_vid = self.vid_obj_list[0]  #see setUp for data details.
        task_resp = self.get_task(jaws_vid.video_id, self.team, 'Subtitle',
                                  'fr')
        url_part = task_resp['resource_uri']
        updated_info = {'assignee': mono_glot.username}
        status, response = self.data_utils.put_api_request(
            self.user, url_part, updated_info)

        self.dashboard_tab.open_team_page(self.team.slug)
        self.assertTrue(
            self.dashboard_tab.suggestion_present(
                suggestion_type='authed_language'))