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)
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)