Skip to content

Commit 1082125

Browse files
committed
news: port to pytest
1 parent cc48390 commit 1082125

File tree

3 files changed

+71
-84
lines changed

3 files changed

+71
-84
lines changed

news/tests.py

Lines changed: 0 additions & 84 deletions
This file was deleted.

news/tests/test_crud.py

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
from news.models import News
2+
3+
from django.core import mail
4+
5+
6+
def create(admin_client, title='Bash broken', content='Broken in [testing]', announce=False):
7+
data = {
8+
'title': title,
9+
'content': content,
10+
}
11+
if announce:
12+
data['send_announce'] = 'on'
13+
return admin_client.post('/news/add/', data, follow=True)
14+
15+
16+
def test_create_item(db, admin_client, admin_user):
17+
title = 'Bash broken'
18+
response = create(admin_client, title)
19+
assert response.status_code == 200
20+
21+
news = News.objects.first()
22+
23+
assert news.author == admin_user
24+
assert news.title == title
25+
26+
27+
def test_view(db, admin_client):
28+
create(admin_client)
29+
news = News.objects.first()
30+
31+
response = admin_client.get(news.get_absolute_url())
32+
assert response.status_code == 200
33+
34+
35+
def test_redirect_id(db, admin_client):
36+
create(admin_client)
37+
news = News.objects.first()
38+
39+
response = admin_client.get('/news/{}'.format(news.id), follow=True)
40+
assert response.status_code == 200
41+
42+
43+
def test_send_announce(db, admin_client):
44+
title = 'New glibc'
45+
create(admin_client, title, announce=True)
46+
assert len(mail.outbox) == 1
47+
assert title in mail.outbox[0].subject
48+
49+
50+
def test_preview(db, admin_client):
51+
response = admin_client.post('/news/preview/', {'data': '**body**'}, follow=True)
52+
assert response.status_code == 200
53+
assert '<p><strong>body</strong></p>' == response.content.decode()

news/tests/test_models.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
def test_feed(db, client):
2+
response = client.get('/feeds/news/')
3+
assert response.status_code == 200
4+
5+
6+
def test_sitemap(db, client):
7+
response = client.get('/sitemap-news.xml')
8+
assert response.status_code == 200
9+
10+
11+
def test_news_sitemap(db, client):
12+
response = client.get('/news-sitemap.xml')
13+
assert response.status_code == 200
14+
15+
16+
def test_newsitem(db, client):
17+
response = client.get('/news/404', follow=True)
18+
assert response.status_code == 404

0 commit comments

Comments
 (0)