Add twitter timeline create tests
This commit is contained in:
parent
fed811a227
commit
3e3af4ce95
4 changed files with 39 additions and 2 deletions
|
|
@ -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()
|
||||
|
|
|
|||
|
|
@ -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")
|
||||
|
|
|
|||
|
|
@ -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)
|
||||
|
|
@ -8,7 +8,6 @@ from newsreader.news.collection.views.base import (
|
|||
)
|
||||
|
||||
|
||||
# TODO add tests
|
||||
class TwitterTimelineCreateView(
|
||||
CollectionRuleViewMixin, CollectionRuleDetailMixin, CreateView
|
||||
):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue