Example #1
0
    def test_prepare(self):
        del mail.outbox[:]
        admin_prepare_url = reverse(
            'admin:recurring_donations_monthlybatch_prepare')
        prepare_page = self.app.get(admin_prepare_url, user=self.superuser)

        self.assertEqual(prepare_page.status_code, 302)

        # Now check that we have 1 prepared batch.
        self.assertEqual(MonthlyBatch.objects.count(), 1)
        batch = MonthlyBatch.objects.all()[0]
        self.assertEqual(batch.status, 'new')

        # Check that we get redirect to the monthly batch detail page
        admin_batch_url = reverse(
            'admin:recurring_donations_monthlybatch_change', args=(batch.id, ))
        self.assertRedirects(prepare_page, admin_batch_url)

        # Now check that we have 2 prepared donations.
        self.assertEqual(MonthlyOrder.objects.count(), 2)

        # Check first monthly order
        monthly_order = MonthlyOrder.objects.get(user=self.user1)

        # Should have one donation
        self.assertEqual(monthly_order.donations.count(), 1)

        # Donation should have amount 25 and go to first project
        self.assertEqual(monthly_order.donations.all()[0].amount,
                         Money(25, 'EUR'))
        self.assertEqual(monthly_order.donations.all()[0].project,
                         self.projects[0])

        # Check second monthly order
        # Should have 3 donations
        monthly_donations = MonthlyOrder.objects.get(
            user=self.user2).donations.all()
        self.assertEqual(len(monthly_donations), 3)

        self.assertEqual(monthly_donations[0].amount, Money(33.33, 'EUR'))
        self.assertEqual(monthly_donations[0].project, self.projects[3])

        self.assertEqual(monthly_donations[1].amount, Money(33.33, 'EUR'))
        self.assertEqual(monthly_donations[1].project, self.projects[4])

        self.assertEqual(monthly_donations[2].amount, Money(33.34, 'EUR'))
        self.assertEqual(monthly_donations[2].project, self.projects[0])

        # Now process it
        admin_prepare_url = reverse(
            'admin:recurring_donations_monthlybatch_process',
            args=(batch.id, ))
        prepare_page = self.app.get(admin_prepare_url, user=self.superuser)

        self.assertEqual(prepare_page.status_code, 302)
        self.assertRedirects(prepare_page, admin_batch_url)

        self.assertEquals(len(mail.outbox), 2)
        batch = MonthlyBatch.objects.all()[0]
        self.assertEqual(batch.status, 'done')
Example #2
0
    def test_prepare(self):
        del mail.outbox[:]
        admin_prepare_url = reverse('admin:recurring_donations_monthlybatch_prepare')
        prepare_page = self.app.get(admin_prepare_url, user=self.superuser)

        self.assertEqual(prepare_page.status_code, 302)

        # Now check that we have 1 prepared batch.
        self.assertEqual(MonthlyBatch.objects.count(), 1)
        batch = MonthlyBatch.objects.all()[0]
        self.assertEqual(batch.status, 'new')

        # Check that we get redirect to the monthly batch detail page
        admin_batch_url = reverse('admin:recurring_donations_monthlybatch_change', args=(batch.id,))
        self.assertRedirects(prepare_page, admin_batch_url)

        # Now check that we have 2 prepared donations.
        self.assertEqual(MonthlyOrder.objects.count(), 2)

        # Check first monthly order
        monthly_order = MonthlyOrder.objects.get(user=self.user1)

        # Should have one donation
        self.assertEqual(monthly_order.donations.count(), 1)

        # Donation should have amount 25 and go to first project
        self.assertEqual(monthly_order.donations.all()[0].amount, Money(25, 'EUR'))
        self.assertEqual(monthly_order.donations.all()[0].project,
                         self.projects[0])

        # Check second monthly order
        # Should have 3 donations
        monthly_donations = MonthlyOrder.objects.get(
            user=self.user2).donations.all()
        self.assertEqual(len(monthly_donations), 3)

        self.assertEqual(monthly_donations[0].amount, Money(33.33, 'EUR'))
        self.assertEqual(monthly_donations[0].project, self.projects[3])

        self.assertEqual(monthly_donations[1].amount, Money(33.33, 'EUR'))
        self.assertEqual(monthly_donations[1].project, self.projects[4])

        self.assertEqual(monthly_donations[2].amount, Money(33.34, 'EUR'))
        self.assertEqual(monthly_donations[2].project, self.projects[0])

        # Now process it
        admin_prepare_url = reverse('admin:recurring_donations_monthlybatch_process', args=(batch.id,))
        prepare_page = self.app.get(admin_prepare_url, user=self.superuser)

        self.assertEqual(prepare_page.status_code, 302)
        self.assertRedirects(prepare_page, admin_batch_url)

        self.assertEquals(len(mail.outbox), 2)
        batch = MonthlyBatch.objects.all()[0]
        self.assertEqual(batch.status, 'done')
Example #3
0
    def test_resend_welcome(self):
        user = BlueBottleUserFactory.create()
        member_url = reverse('admin:members_member_change', args=(user.id, ))
        response = self.client.get(member_url)
        self.assertEquals(response.status_code, 200)
        self.assertContains(response, 'Resend welcome email')

        welkcome_email_url = reverse('admin:auth_user_resend_welcome_mail',
                                     kwargs={'user_id': user.id})
        response = self.client.get(welkcome_email_url)
        self.assertEquals(response.status_code, 302)
        welkcome_email_mail = mail.outbox[0]
        self.assertEqual(welkcome_email_mail.to, [user.email])
        self.assertTrue(
            'Welcome {}'.format(user.first_name) in welkcome_email_mail.body)
    def test_resend_welcome_anonymous(self):
        user = BlueBottleUserFactory.create()
        self.client.logout()

        welkcome_email_url = reverse('admin:auth_user_resend_welcome_mail',
                                     kwargs={'pk': user.id})
        response = self.client.post(welkcome_email_url, {'confirm': True})
        self.assertEquals(response.status_code, 403)
Example #5
0
    def test_password_mail(self):
        user = BlueBottleUserFactory.create()
        member_url = reverse('admin:members_member_change', args=(user.id, ))
        response = self.client.get(member_url)
        self.assertEquals(response.status_code, 200)
        self.assertContains(response, 'Send reset password mail')
        self.assertContains(response, 'Reset password form')

        # Assert password reset link sends the right email
        reset_url = reverse('admin:auth_user_password_reset_mail',
                            kwargs={'user_id': user.id})
        response = self.client.get(reset_url)
        self.assertEquals(response.status_code, 302)
        reset_mail = mail.outbox[0]
        self.assertEqual(reset_mail.to, [user.email])
        self.assertTrue(
            'Seems you\'ve requested a password reset for' in reset_mail.body)
 def test_password_mail_anonymous(self):
     user = BlueBottleUserFactory.create()
     self.client.logout()
     reset_url = reverse('admin:auth_user_password_reset_mail',
                         kwargs={'pk': user.id})
     response = self.client.post(reset_url, {'confirm': True})
     self.assertEquals(response.status_code, 403)
     self.assertEqual(len(mail.outbox), 0)
Example #7
0
 def setUp(self):
     super(LookerAppDashboardTest, self).setUp()
     self.client.force_login(self.superuser)
     self.admin_url = reverse('admin:index')
     self.request = RequestFactory().get(self.admin_url)
     self.request.user = self.superuser
     for looker_id in range(7):
         LookerEmbedFactory.create(
             title='Looker Dashboard: {}'.format(looker_id),
             looker_id=looker_id)
Example #8
0
    def setUp(self):
        super(LookerEmbedViewTest, self).setUp()
        self.embed = LookerEmbedFactory.create(title='Looker Dashboard',
                                               type='look',
                                               looker_id=1)
        self.target_url = 'https://looker.example.com/login/embed/{}'.format(
            quote_plus('/embed/looks/1'))

        self.embed_url = reverse('jet-dashboard:looker-embed',
                                 args=(self.embed.pk, ))
    def test_resend_welcome(self):
        user = BlueBottleUserFactory.create(welcome_email_is_sent=True)
        member_url = reverse('admin:members_member_change', args=(user.id, ))
        response = self.client.get(member_url)
        self.assertEquals(response.status_code, 200)
        self.assertContains(response, 'Resend welcome email')

        welcome_email_url = reverse('admin:auth_user_resend_welcome_mail',
                                    kwargs={'pk': user.id})

        confirm_response = self.client.get(welcome_email_url)
        self.assertEquals(response.status_code, 200)
        self.assertTrue(b'Are you sure' in confirm_response.content)

        response = self.client.post(welcome_email_url, {'confirm': True})
        self.assertEquals(response.status_code, 302)
        welcome_email = mail.outbox[0]
        self.assertEqual(welcome_email.to, [user.email])
        self.assertTrue(
            'Welcome {}'.format(user.first_name) in welcome_email.body)
Example #10
0
    def setUp(self):
        super(DashboardWidgetTestCase, self).setUp()
        self.dashboard = UserDashboardModuleFactory.create(
            title='Links',
            user=self.superuser.id,
            module='jet.dashboard.modules.LinkList')
        self.widget_admin_url = reverse('jet-dashboard:update_module',
                                        args=(self.dashboard.id, ))

        self.client = ApiClient(self.__class__.tenant,
                                enforce_csrf_checks=True)
        self.client.force_login(self.superuser)
    def test_load_custom_fields(self):
        member = BlueBottleUserFactory.create()
        field = CustomMemberFieldSettings.objects.create(name='Department')
        member.extra.create(value='Engineering', field=field)
        member.save()

        member_url = reverse('admin:members_member_change', args=(member.id, ))
        response = self.client.get(member_url)
        self.assertEqual(response.status_code, 200)
        # Test the extra field and it's value show up
        self.assertContains(response, 'Department')
        self.assertContains(response, 'Engineering')
    def test_resend_welcome(self):
        user = BlueBottleUserFactory.create(first_name='Bob',
                                            email='*****@*****.**',
                                            primary_language='en')

        welkcome_email_url = reverse('admin:auth_user_resend_welcome_mail',
                                     kwargs={'pk': user.id})
        self.client.get(welkcome_email_url)
        welcome_email = mail.outbox[1]
        self.assertEqual(welcome_email.subject,
                         'You have been assimilated to Test')
        self.assertEqual(welcome_email.to, ['*****@*****.**'])
        self.assertTrue('We are borg' in welcome_email.body)
    def setUp(self):
        super(AccountMailAdminTest, self).setUp()
        self.add_member_url = reverse('admin:members_member_add')
        self.client.force_login(self.superuser)

        Language.objects.get_or_create(code='bg',
                                       language_name='Bulgarian',
                                       native_name='Български')

        # Create custom account activation email
        self.message = MessageTemplate.objects.create(
            message='bluebottle.members.messages.AccountActivationMessage')
        self.message.set_current_language('en')
        self.message.subject = 'You have been assimilated to {site_name}'
        self.message.body_html = 'You are no longer {first_name}.<br/><h1>We are borg</h1>'
        self.message.body_txt = 'You are no longer {first_name}.\nWe are borg'
        self.message.save()
Example #14
0
    def setUp(self):
        super(ProjectDashboardTest, self).setUp()
        self.init_projects()
        self.client.force_login(self.superuser)
        self.member_admin_url = reverse('admin:app_list', args=('projects', ))
        plan_new = ProjectPhase.objects.get(slug='plan-new')
        submitted = ProjectPhase.objects.get(slug='plan-submitted')
        needs_work = ProjectPhase.objects.get(slug='plan-needs-work')

        self.projects = ProjectFactory.create_batch(5, status=plan_new)

        self.projects[0].status = needs_work
        self.projects[0].reviewer = self.superuser
        self.projects[0].save()

        self.projects[1].status = needs_work
        self.projects[1].save()

        self.projects[2].status = submitted
        self.projects[2].save()

        self.request = RequestFactory().get(self.member_admin_url)
        self.request.user = self.superuser
Example #15
0
 def setUp(self):
     super(SlideAdminTest, self).setUp()
     self.news = SlideFactory()
     self.news_url = reverse('admin:slides_slide_changelist')
     self.client.force_login(self.superuser)
Example #16
0
 def setUp(self):
     super(CustomAppDashboardTestCase, self).setUp()
     self.client.force_login(self.superuser)
     self.admin_url = reverse('admin:index')
     self.request = RequestFactory().get(self.admin_url)
     self.request.user = self.superuser
Example #17
0
 def setUp(self):
     super(MainDashboardTestCase, self).setUp()
     self.init_projects()
     self.client.force_login(self.superuser)
     self.admin_url = reverse('admin:index')
Example #18
0
 def setUp(self):
     super(MemberDashboardTest, self).setUp()
     self.client.force_login(self.superuser)
     self.member_admin_url = reverse('admin:app_list', args=('members', ))
     BlueBottleUserFactory.create(username='******')
 def setUp(self):
     super(GroupAdminTest, self).setUp()
     self.group_url = reverse('admin:auth_group_change', args=(1, ))
Example #20
0
 def setUp(self):
     super(GroupAdminTest, self).setUp()
     self.group_url = reverse('admin:auth_group_change', args=(1,))
 def setUp(self):
     super(MemberAdminTest, self).setUp()
     self.add_member_url = reverse('admin:members_member_add')
     self.client.force_login(self.superuser)