Exemplo n.º 1
0
 def test_update(self):
     url = reverse('committees:update',
                   kwargs={
                       'pk': self.committee.pk,
                       'url': get_current_account(self).url
                   })
     self.committee.chairman.add(self.admin.get_membership(self.account))
     data = {
         'name':
         self.committee.name,
         'chairman':
         list(self.committee.chairman.all().values_list('id', flat=True)),
         'members':
         list(self.committee.memberships.all().values_list('id',
                                                           flat=True)),
         'summary':
         self.committee.summary,
         'description':
         self.committee.description,
         'account':
         get_current_account(self)
     }
     user2 = UserFactory(accounts=[get_current_account(self)])
     membership_user2 = user2.get_membership(
         account=get_current_account(self))
     data['members'].append(membership_user2.id)
     response = self.client.post(url, data, follow=True)
     updated_committee_members = list(
         Committee.objects.get(
             id=self.committee.id).memberships.all().values_list('id',
                                                                 flat=True))
     self.assertItemsEqual(updated_committee_members, data['members'])
     self.assertEqual(response.status_code, 200)
     self.assertContains(response, 'Committee was changed successfully.')
Exemplo n.º 2
0
 def test_update_wrong(self):
     user = UserFactory(accounts=[self.account])
     self.login_member(user.email)
     url = reverse('committees:update',
                   kwargs={
                       'pk': self.committee.pk,
                       'url': get_current_account(self).url
                   })
     data = {
         'name':
         self.committee.name,
         'chairman':
         self.committee.chairman.all(),
         'members':
         list(self.committee.memberships.all().values_list('id',
                                                           flat=True)),
         'summary':
         self.committee.summary,
         'description':
         self.committee.description,
         'account':
         get_current_account(self)
     }
     user2 = UserFactory(accounts=[get_current_account(self)])
     membership_user2 = user2.get_membership(
         account=get_current_account(self))
     data['members'].append(membership_user2.id)
     response = self.client.post(url, data, follow=True)
     self.assertEqual(response.status_code, 403)
Exemplo n.º 3
0
 def test_delete_membership_forbidden(self):
     self.login_admin()
     new_acc = AccountFactory()
     new_member = UserFactory(accounts=[new_acc])
     url = reverse('profiles:delete',
                   kwargs={'pk': new_member.get_membership(new_acc).pk})
     response = self.ajax(url)
     self.assertEqual(
         response.status_code, 404
     )  # Currently this would be 404 as it'll simply be not found in queryset
Exemplo n.º 4
0
class MembersListTest(TestCase):
    def setUp(self):
        pass

    def test_leader(self):
        self.create_init_data()
        self.login_admin()
        resp = self.client.get(
            reverse('board_members', kwargs={'url': self.account.url}))
        self.assertContains(resp, 'Members')
        self.assertContains(resp, 'data-chairman="true"')
        self.assertContains(
            resp, 'data-chairman="true"',
            self.account.committees.filter(
                account=self.account).values('chairman').distinct().count())

    def test_members_count(self):
        self.account = AccountFactory()
        self.admin = AdminFactory(accounts=[self.account])
        self.login_admin()
        resp = self.client.get(
            reverse('board_members', kwargs={'url': self.account.url}))
        self.assertContains(resp, 'class="member"', 1)
        UserFactory.create_batch(5, accounts=[self.account])
        resp = self.client.get(
            reverse('board_members', kwargs={'url': self.account.url}))
        self.assertContains(resp, 'class="member"', 6)
        self.account = AccountFactory()
        self.user = UserFactory(accounts=[self.account])
        resp = self.client.get(
            reverse('board_members', kwargs={'url': self.account.url}))
        self.assertContains(resp, 'class="member"', 6)
        self.client.logout()
        self.login_member()
        self.membership = self.user.get_membership(account=self.account)
        resp = self.client.get(
            reverse('board_members', kwargs={'url': self.account.url}))
        self.assertContains(resp, 'class="member"', 1)
        self.assertNotContains(resp, 'data-chairman="true"')
        CommitteeFactory(chairman=self.membership)
        resp = self.client.get(
            reverse('board_members', kwargs={'url': self.account.url}))
        self.assertContains(resp, 'class="member"', 1)
        self.assertContains(resp, 'data-chairman="true"')
Exemplo n.º 5
0
 def test_dashboard_recent_save_committee_change(self):
     self.login_admin()
     url = reverse('committees:update',
                   kwargs={
                       'pk': self.committee.pk,
                       'url': self.account.url
                   })
     data = {
         'name':
         self.committee.name,
         'chairman':
         list(self.committee.chairman.all().values_list('id', flat=True)),
         'members':
         list(self.committee.memberships.all().values_list('id',
                                                           flat=True)),
         'summary':
         self.committee.summary,
         'description':
         self.committee.description,
         'account':
         self.account
     }
     user2 = UserFactory(accounts=[self.account])
     data['members'].append(user2.get_membership(account=self.account).id)
     mail.outbox = []
     response = self.client.post(url, data, follow=True)
     updated_committee_members = list(
         Committee.objects.get(
             id=self.committee.id).memberships.all().values_list('id',
                                                                 flat=True))
     self.assertItemsEqual(updated_committee_members, data['members'])
     self.assertEqual(response.status_code, 200)
     self.assertContains(response, 'Committee was changed successfully.')
     self.assertTrue(len(RecentActivity.objects.all()) > 0)
     for item in RecentActivity.objects.all():
         self.assertEqual(item.content_object.name, data['name'])
         self.assertEqual(item.content_object.account, data['account'])
         self.assertEqual(item.init_user, self.admin)
         self.assertEqual(item.action_flag, RecentActivity.CHANGE)
     self.assertEqual(len(mail.outbox), 0)
Exemplo n.º 6
0
    def create_membership(self, account=None, role=None, **kwargs):
        from profiles.factories import UserFactory

        account = account or self.account
        user = UserFactory(accounts=[account], accounts__role=role, **kwargs)
        return user, user.get_membership(account)