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.choices import RuleTypeChoices
|
||||||
from newsreader.news.collection.forms.base import CollectionRuleForm
|
from newsreader.news.collection.forms.base import CollectionRuleForm
|
||||||
from newsreader.news.collection.models import CollectionRule
|
from newsreader.news.collection.models import CollectionRule
|
||||||
|
from newsreader.news.collection.twitter import TWITTER_URL
|
||||||
|
|
||||||
|
|
||||||
class TwitterTimelineForm(CollectionRuleForm):
|
class TwitterTimelineForm(CollectionRuleForm):
|
||||||
|
|
@ -20,6 +21,7 @@ class TwitterTimelineForm(CollectionRuleForm):
|
||||||
|
|
||||||
instance.type = RuleTypeChoices.twitter_timeline
|
instance.type = RuleTypeChoices.twitter_timeline
|
||||||
instance.timezone = str(pytz.utc)
|
instance.timezone = str(pytz.utc)
|
||||||
|
instance.url = f"{TWITTER_URL}/{instance.screen_name}"
|
||||||
|
|
||||||
if commit:
|
if commit:
|
||||||
instance.save()
|
instance.save()
|
||||||
|
|
|
||||||
|
|
@ -30,6 +30,6 @@ class SubredditFactory(CollectionRuleFactory):
|
||||||
website_url = REDDIT_URL
|
website_url = REDDIT_URL
|
||||||
|
|
||||||
|
|
||||||
class TwitterTimeLineFactory(CollectionRuleFactory):
|
class TwitterTimelineFactory(CollectionRuleFactory):
|
||||||
type = RuleTypeChoices.twitter_timeline
|
type = RuleTypeChoices.twitter_timeline
|
||||||
screen_name = factory.Faker("user_name")
|
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(
|
class TwitterTimelineCreateView(
|
||||||
CollectionRuleViewMixin, CollectionRuleDetailMixin, CreateView
|
CollectionRuleViewMixin, CollectionRuleDetailMixin, CreateView
|
||||||
):
|
):
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue