Add twitter timeline create tests

This commit is contained in:
Sonny Bakker 2020-09-21 22:44:49 +02:00
parent fed811a227
commit 3e3af4ce95
4 changed files with 39 additions and 2 deletions

View file

@ -6,6 +6,7 @@ import pytz
from newsreader.news.collection.choices import RuleTypeChoices
from newsreader.news.collection.forms.base import CollectionRuleForm
from newsreader.news.collection.models import CollectionRule
from newsreader.news.collection.twitter import TWITTER_URL
class TwitterTimelineForm(CollectionRuleForm):
@ -20,6 +21,7 @@ class TwitterTimelineForm(CollectionRuleForm):
instance.type = RuleTypeChoices.twitter_timeline
instance.timezone = str(pytz.utc)
instance.url = f"{TWITTER_URL}/{instance.screen_name}"
if commit:
instance.save()

View file

@ -30,6 +30,6 @@ class SubredditFactory(CollectionRuleFactory):
website_url = REDDIT_URL
class TwitterTimeLineFactory(CollectionRuleFactory):
class TwitterTimelineFactory(CollectionRuleFactory):
type = RuleTypeChoices.twitter_timeline
screen_name = factory.Faker("user_name")

View file

@ -0,0 +1,36 @@
from django.test import TestCase
from django.urls import reverse
import pytz
from newsreader.news.collection.choices import RuleTypeChoices
from newsreader.news.collection.models import CollectionRule
from newsreader.news.collection.tests.views.base import CollectionRuleViewTestCase
from newsreader.news.collection.twitter import TWITTER_URL
class TwitterTimelineCreateViewTestCase(CollectionRuleViewTestCase, TestCase):
def setUp(self):
super().setUp()
self.form_data = {
"name": "new rule",
"screen_name": "RobertsSpaceInd",
"category": str(self.category.pk),
}
self.url = reverse("news:collection:twitter-timeline-create")
def test_creation(self):
response = self.client.post(self.url, self.form_data)
self.assertEquals(response.status_code, 302)
rule = CollectionRule.objects.get(name="new rule")
self.assertEquals(rule.type, RuleTypeChoices.twitter_timeline)
self.assertEquals(rule.url, f"{TWITTER_URL}/RobertsSpaceInd")
self.assertEquals(rule.timezone, str(pytz.utc))
self.assertEquals(rule.favicon, None)
self.assertEquals(rule.category.pk, self.category.pk)
self.assertEquals(rule.user.pk, self.user.pk)

View file

@ -8,7 +8,6 @@ from newsreader.news.collection.views.base import (
)
# TODO add tests
class TwitterTimelineCreateView(
CollectionRuleViewMixin, CollectionRuleDetailMixin, CreateView
):