예제 #1
0
    def test_filter_by_user_or_organization(self):
        # PREPARE DATA
        name = settings.BRAND_NAME
        users = FakeUserFactory.create_batch(size=2, is_active=True)
        customer = FakeCustomerFactory.create()
        organization = InternalOrganization.objects.get(name=name)
        for user in users:
            user.user_permissions.add(
                Permission.objects.get(
                    codename=settings.PROJECT_PERMS_ADD_PROJECT))
            user.user_permissions.add(
                Permission.objects.get(
                    codename=settings.SPRINT_AUTOMATED_ADD_SPRINT))
            organization.users_roles.get_or_create(user=user)

        FakeSprintAutomatedFactory.create_batch(
            size=3, created_by=users[0], internal_organization=organization)

        customer.create_sprint_automated(
            user_from=users[1],
            name=faker.name(),
            description=faker.text(),
            duration=settings.SPRINT_AUTOMATED_STEPS_COUNT,
        )
        # DO ACTION and ASSERTS
        for user in users:
            projects = Project.objects.filter_by_user_or_organization(
                user).count()
            self.assertEqual(projects, 4)

        self.assertEqual(
            Project.objects.filter_by_user_or_organization(
                FakeUserFactory.create(is_active=True)).count(), 0)
예제 #2
0
 def test_update_members(self):
     new_team = FakeTeamFactory.create(project__status=settings.PROJECT_CH_PROJECT_STATUS_STARTED)
     users = FakeUserFactory.create_batch(size=4, is_active=True)
     member = new_team.add_member(
         user_from=self.super_user,
         email=users[0].email,
         name=users[0].short_name,
     )
     self.assertTrue(member in new_team.team_members.all())
     self.assertTrue(member.has_perm(
         settings.TEAM_PERMS_FULL_VIEW_TEAM, new_team,
     ))
     new_members = []
     new_members.append({'email': users[1].email, 'short_name': users[1].short_name})
     new_members.append({'email': users[2].email, 'short_name': users[2].short_name})
     new_team.update_members(
         self.super_user,
         new_members,
     )
     self.assertFalse(member.has_perm(
         settings.TEAM_PERMS_FULL_VIEW_TEAM, new_team,
     ))
     self.assertTrue(users[1].has_perm(
         settings.TEAM_PERMS_FULL_VIEW_TEAM, new_team,
     ))
     self.assertTrue(users[2].has_perm(
         settings.TEAM_PERMS_FULL_VIEW_TEAM, new_team,
     ))
     member = new_team.add_member(
         user_from=self.super_user,
         email=users[3].email,
         name=users[3].short_name,
     )
     new_members.append({'email': users[3].email, 'short_name': users[3].short_name})
     new_team.update_members(
         self.super_user,
         new_members,
     )
     self.assertTrue(member.has_perm(
         settings.TEAM_PERMS_FULL_VIEW_TEAM, new_team,
     ))
     self.assertTrue(users[1].has_perm(
         settings.TEAM_PERMS_FULL_VIEW_TEAM, new_team,
     ))
     self.assertTrue(users[2].has_perm(
         settings.TEAM_PERMS_FULL_VIEW_TEAM, new_team,
     ))
     self.assertEqual(new_team.team_members.all().count(), 3)
    def test_coupon_max_uses(self):
        # PREPARE DATA
        coupon = FakeCouponFactory.create(
            max_uses=2,
            uses=0,
        )
        users = FakeUserFactory.create_batch(size=2)
        for user in users:
            coupon.apply(user)

        # DO ACTION
        result = coupon.apply(self.user, raise_exceptions=False)
        updated_coupon = Coupon.objects.get(pk=coupon.pk)

        # ASSERTS
        self.assertFalse(result)
        self.assertFalse(updated_coupon.is_available)
        self.assertEquals(coupon.uses, coupon.max_uses)