Projet

Général

Profil

0001-tests-add-tests-for-backoffice-13343.patch

Serghei Mihai (congés, retour 15/05), 23 février 2017 11:33

Télécharger (4,82 ko)

Voir les différences:

Subject: [PATCH] tests: add tests for backoffice (#13343)

 tests/test_manager.py | 113 ++++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 113 insertions(+)
 create mode 100644 tests/test_manager.py
tests/test_manager.py
1
import os
2
import pytest
3

  
4
from django.core.urlresolvers import reverse
5
from django.contrib.auth.models import User
6

  
7
pytestmark = pytest.mark.django_db
8

  
9
@pytest.fixture
10
def admin_user():
11
    try:
12
        user = User.objects.get(username='admin')
13
    except User.DoesNotExist:
14
        user = User.objects.create_superuser('admin', email=None, password='admin')
15
    return user
16

  
17
def login(app, username='admin', password='admin'):
18
    login_page = app.get('/login/')
19
    login_form = login_page.forms[0]
20
    login_form['username'] = username
21
    login_form['password'] = password
22
    resp = login_form.submit()
23
    assert resp.status_int == 302
24
    return app
25

  
26
def test_unlogged_access(app):
27
    # connect while not being logged in
28
    assert app.get('/', status=301).location == 'http://localhost:80/manage/'
29
    assert app.get('/manage/', status=302).location == 'http://localhost:80/login/?next=/manage/'
30

  
31
def test_access(app, admin_user):
32
    app = login(app)
33
    resp = app.get('/manage/', status=200)
34
    assert 'New category' in resp.body
35

  
36
def test_logout(app, admin_user):
37
    app = login(app)
38
    app.get('/logout/')
39
    assert app.get('/', status=301).location == 'http://localhost:80/manage/'
40

  
41
def test_create_category(app, admin_user):
42
    app = login(app)
43
    category_page = app.get(reverse('add_category'))
44
    category_form = category_page.forms[0]
45
    category_form['name'] = 'Alerts'
46
    resp = category_form.submit()
47
    assert resp.status_int == 302
48
    assert resp.location == 'http://localhost:80/manage/'
49

  
50
def test_edit_category(app, admin_user):
51
    app = login(app)
52
    category_page = app.get(reverse('add_category'))
53
    category_form = category_page.forms[0]
54
    category_form['name'] = 'Alerts'
55
    resp = category_form.submit()
56
    assert resp.status_int == 302
57
    assert resp.location == 'http://localhost:80/manage/'
58
    category_page = app.get(reverse('edit_category', kwargs={'slug': 'alerts'}))
59
    category_form = category_page.forms[0]
60
    category_form['name'] = 'New Alerts'
61
    resp = category_form.submit()
62
    assert resp.status_int == 302
63
    assert resp.location == 'http://localhost:80/manage/category/alerts/'
64

  
65
def test_delete_category(app, admin_user):
66
    app = login(app)
67
    category_page = app.get(reverse('add_category'))
68
    category_form = category_page.forms[0]
69
    category_form['name'] = 'Alerts'
70
    resp = category_form.submit()
71
    assert resp.status_int == 302
72
    assert resp.location == 'http://localhost:80/manage/'
73
    category_page = app.get(reverse('delete_category', kwargs={'slug': 'alerts'}))
74
    category_form = category_page.forms[0]
75
    resp = category_form.submit()
76
    assert resp.status_int == 302
77
    assert resp.location == 'http://localhost:80/manage/'
78

  
79
def test_create_announce(app, admin_user):
80
    app = login(app)
81
    category_page = app.get(reverse('add_category'))
82
    category_form = category_page.forms[0]
83
    category_form['name'] = 'Alerts'
84
    resp = category_form.submit()
85
    assert resp.status_int == 302
86
    assert resp.location == 'http://localhost:80/manage/'
87
    announce_page = app.get(reverse('add_announce', kwargs={'slug': 'alerts'}))
88
    announce_form = announce_page.forms[0]
89
    announce_form['title'] = 'First announce'
90
    announce_form['text'] = 'announce content'
91
    resp = announce_form.submit()
92
    assert resp.status_int == 302
93
    assert resp.location == 'http://localhost:80/manage/category/alerts/'
94

  
95

  
96
def test_delete_announce(app, admin_user):
97
    app = login(app)
98
    category_page = app.get(reverse('add_category'))
99
    category_form = category_page.forms[0]
100
    category_form['name'] = 'Alerts'
101
    resp = category_form.submit()
102
    assert resp.status_int == 302
103
    assert resp.location == 'http://localhost:80/manage/'
104
    announce_page = app.get(reverse('add_announce', kwargs={'slug': 'alerts'}))
105
    announce_form = announce_page.forms[0]
106
    announce_form['title'] = 'First announce'
107
    announce_form['text'] = 'announce content'
108
    resp = announce_form.submit()
109
    announce_delete_page = app.get(reverse('delete_announce', kwargs={'pk': '1'}))
110
    announce_delete_form = announce_delete_page.forms[0]
111
    resp = announce_delete_form.submit()
112
    assert resp.status_int == 302
113
    assert resp.location == 'http://localhost:80/manage/category/alerts/'
0
-