add tests
This commit is contained in:
93
fet2020/tests/test_posts.py
Normal file
93
fet2020/tests/test_posts.py
Normal file
@@ -0,0 +1,93 @@
|
||||
import pytest
|
||||
from posts.models import News, Post, Event, FetMeeting
|
||||
from django.urls import reverse
|
||||
from django.core.validators import ValidationError
|
||||
import datetime
|
||||
from urllib.request import URLError
|
||||
|
||||
@pytest.fixture
|
||||
def post(db):
|
||||
return Post(title="asdf", post_type="N")
|
||||
|
||||
@pytest.fixture
|
||||
def post_saved(post):
|
||||
post.save()
|
||||
return post
|
||||
|
||||
@pytest.fixture
|
||||
def fetmeeting(db):
|
||||
return FetMeeting(event_start = datetime.datetime(2020,1,1,18,0))
|
||||
|
||||
@pytest.fixture
|
||||
def fetmeeting_saved(fetmeeting):
|
||||
fetmeeting.save()
|
||||
return fetmeeting
|
||||
|
||||
def test_true():
|
||||
assert True
|
||||
|
||||
|
||||
class TestPostModel:
|
||||
def test_model(self, post):
|
||||
assert isinstance(post,Post)
|
||||
|
||||
def test_model_id(self, post_saved):
|
||||
assert post_saved.id==1
|
||||
|
||||
def test_model_notnews(self, post):
|
||||
assert not isinstance(post, News)
|
||||
|
||||
def test_post_slug_default(self, post_saved):
|
||||
assert "asdf" in post_saved.slug
|
||||
|
||||
def test_url_attribute(self, post_saved):
|
||||
assert reverse("posts.show", kwargs={"id": post_saved.slug}) == post_saved.url
|
||||
|
||||
def test_default_hidden(self, post_saved):
|
||||
assert post_saved.is_hidden==False
|
||||
|
||||
def test_default_pinned(self, post_saved):
|
||||
assert post_saved.is_pinned==False
|
||||
|
||||
def test_validate_title(self, post):
|
||||
post.title=""
|
||||
with pytest.raises(ValidationError):
|
||||
post.full_clean()
|
||||
|
||||
def test_validate_eventdate(self, post):
|
||||
post.event_start=datetime.datetime(2020,10,1,18,0)
|
||||
post.event_end=datetime.datetime(2020,10,1,19,0)
|
||||
post.full_clean()
|
||||
assert True
|
||||
|
||||
def test_clean_post(self, post):
|
||||
post.full_clean()
|
||||
assert True
|
||||
|
||||
class TestPostEtherpad:
|
||||
def test_agenda_id(self,post_saved):
|
||||
assert post_saved.slug in str(post_saved.get_agenda_key())
|
||||
|
||||
def test_protocol_id(self,post_saved):
|
||||
assert post_saved.slug in str(post_saved.get_protocol_key())
|
||||
|
||||
class TestFetmeetingModel:
|
||||
def test_clean_fetmeeting(self, fetmeeting):
|
||||
fetmeeting.save()
|
||||
assert True
|
||||
|
||||
#Test Defaults for Fetmeeting
|
||||
def test_title(self, fetmeeting):
|
||||
fetmeeting.save()
|
||||
assert fetmeeting.title=="Fachschaftssitzung"
|
||||
def test_slug(self, fetmeeting_saved):
|
||||
assert "fachschaftssitzung" in fetmeeting_saved.slug
|
||||
|
||||
def test_sitzung_end(self, fetmeeting_saved):
|
||||
assert datetime.datetime(2020,1,1,20,0)==fetmeeting_saved.event_end
|
||||
|
||||
def test_sitzung_start(self, fetmeeting_saved):
|
||||
assert datetime.datetime(2020,1,1,18,0)==fetmeeting_saved.event_start
|
||||
|
||||
def test_post_type(self, fetmeeting_saved):
|
||||
assert fetmeeting_saved.post_type == "F"
|
||||
Reference in New Issue
Block a user