Exemple #1
0
    def test_success_list_delete_featured(self):
        staff = StaffProfileFactory()
        self.client.force_login(staff.user)

        news = FeaturedResourceFactory()
        news2 = FeaturedResourceFactory()
        self.assertEqual(2, FeaturedResource.objects.all().count())
        response = self.client.post(
            reverse("featured-resource-list-delete"), {"items": [news.pk, news2.pk]}, follow=True
        )

        self.assertEqual(200, response.status_code)
        self.assertEqual(0, FeaturedResource.objects.filter(pk=news.pk).count())
        self.assertEqual(0, FeaturedResource.objects.filter(pk=news2.pk).count())
Exemple #2
0
    def test_failure_delete_featured_with_user_not_staff(self):
        profile = ProfileFactory()
        self.client.force_login(profile.user)

        news = FeaturedResourceFactory()
        response = self.client.get(reverse("featured-resource-delete", args=[news.pk]))

        self.assertEqual(403, response.status_code)
Exemple #3
0
    def test_success_update_featured(self):
        staff = StaffProfileFactory()
        login_check = self.client.login(username=staff.user.username,
                                        password='******')
        self.assertTrue(login_check)

        news = FeaturedResourceFactory()
        self.assertEqual(1, FeaturedResource.objects.all().count())

        old_featured = FeaturedResource.objects.first()

        pubdate = date(2016, 1, 1).strftime('%d/%m/%Y %H:%M:%S')

        fields = {
            'title': 'title',
            'type': 'type',
            'image_url': 'http://test.com/image.png',
            'url': 'http://test.com',
            'authors': staff.user.username,
            'pubdate': pubdate
        }

        response = self.client.post(reverse('featured-resource-update',
                                            args=[news.pk]),
                                    fields,
                                    follow=True)

        self.assertEqual(200, response.status_code)
        self.assertEqual(1, FeaturedResource.objects.all().count())

        featured = FeaturedResource.objects.first()

        for field, value in list(fields.items()):
            self.assertNotEqual(getattr(featured, field),
                                getattr(old_featured, field))

            if field != 'pubdate':
                self.assertEqual(value,
                                 getattr(featured, field),
                                 msg='Error on {}'.format(field))
            else:
                self.assertEqual(
                    value, featured.pubdate.strftime('%d/%m/%Y %H:%M:%S'))

        # now with major_update
        self.assertFalse(
            (datetime.now() - featured.pubdate).total_seconds() < 10)

        fields['major_update'] = 'on'

        response = self.client.post(reverse('featured-resource-update',
                                            args=[news.pk]),
                                    fields,
                                    follow=True)
        self.assertEqual(200, response.status_code)
        featured = FeaturedResource.objects.first()
        self.assertTrue(
            (datetime.now() - featured.pubdate).total_seconds() < 10)
Exemple #4
0
    def test_success_update_featured(self):
        staff = StaffProfileFactory()
        login_check = self.client.login(username=staff.user.username,
                                        password="******")
        self.assertTrue(login_check)

        news = FeaturedResourceFactory()
        self.assertEqual(1, FeaturedResource.objects.all().count())

        old_featured = FeaturedResource.objects.first()

        pubdate = date(2016, 1, 1).strftime("%d/%m/%Y %H:%M:%S")

        fields = {
            "title": "title",
            "type": "type",
            "image_url": "http://test.com/image.png",
            "url": "http://test.com",
            "authors": staff.user.username,
            "pubdate": pubdate,
        }

        response = self.client.post(reverse("featured-resource-update",
                                            args=[news.pk]),
                                    fields,
                                    follow=True)

        self.assertEqual(200, response.status_code)
        self.assertEqual(1, FeaturedResource.objects.all().count())

        featured = FeaturedResource.objects.first()

        for field, value in list(fields.items()):
            self.assertNotEqual(getattr(featured, field),
                                getattr(old_featured, field))

            if field != "pubdate":
                self.assertEqual(value,
                                 getattr(featured, field),
                                 msg="Error on {}".format(field))
            else:
                self.assertEqual(
                    value, featured.pubdate.strftime("%d/%m/%Y %H:%M:%S"))

        # now with major_update
        self.assertFalse(
            (datetime.now() - featured.pubdate).total_seconds() < 10)

        fields["major_update"] = "on"

        response = self.client.post(reverse("featured-resource-update",
                                            args=[news.pk]),
                                    fields,
                                    follow=True)
        self.assertEqual(200, response.status_code)
        featured = FeaturedResource.objects.first()
        self.assertTrue(
            (datetime.now() - featured.pubdate).total_seconds() < 10)
Exemple #5
0
    def test_success_list_delete_featured(self):
        staff = StaffProfileFactory()
        login_check = self.client.login(username=staff.user.username,
                                        password='******')
        self.assertTrue(login_check)

        news = FeaturedResourceFactory()
        news2 = FeaturedResourceFactory()
        self.assertEqual(2, FeaturedResource.objects.all().count())
        response = self.client.post(reverse('featured-resource-list-delete'),
                                    {'items': [news.pk, news2.pk]},
                                    follow=True)

        self.assertEqual(200, response.status_code)
        self.assertEqual(0,
                         FeaturedResource.objects.filter(pk=news.pk).count())
        self.assertEqual(0,
                         FeaturedResource.objects.filter(pk=news2.pk).count())
Exemple #6
0
    def test_failure_delete_featured_with_user_not_staff(self):
        profile = ProfileFactory()
        login_check = self.client.login(username=profile.user.username, password="******")
        self.assertTrue(login_check)

        news = FeaturedResourceFactory()
        response = self.client.get(reverse("featured-resource-delete", args=[news.pk]))

        self.assertEqual(403, response.status_code)
Exemple #7
0
    def test_success_delete_featured(self):
        staff = StaffProfileFactory()
        login_check = self.client.login(username=staff.user.username, password="******")
        self.assertTrue(login_check)

        news = FeaturedResourceFactory()
        self.assertEqual(1, FeaturedResource.objects.all().count())
        response = self.client.post(reverse("featured-resource-delete", args=[news.pk]), follow=True)

        self.assertEqual(200, response.status_code)
        self.assertEqual(0, FeaturedResource.objects.filter(pk=news.pk).count())
Exemple #8
0
    def test_success_update_featured(self):
        staff = StaffProfileFactory()
        login_check = self.client.login(username=staff.user.username,
                                        password='******')
        self.assertTrue(login_check)

        news = FeaturedResourceFactory()
        self.assertEqual(1, FeaturedResource.objects.all().count())
        response = self.client.post(reverse('featured-resource-update',
                                            args=[news.pk]), {
                                                'title': 'title',
                                                'type': 'type',
                                                'image_url': 'image_url',
                                                'url': 'url',
                                                'authors': staff.user.username
                                            },
                                    follow=True)

        self.assertEqual(200, response.status_code)
        self.assertEqual(1, FeaturedResource.objects.all().count())
Exemple #9
0
    def test_failure_delete_featured_with_unauthenticated_user(self):
        news = FeaturedResourceFactory()
        response = self.client.get(
            reverse('featured-resource-delete', args=[news.pk]))

        self.assertEqual(302, response.status_code)