django-cqrs-demo

Форк
0
83 строки · 2.2 Кб
1
from http import HTTPStatus
2

3
from django.test import Client
4

5
from apps.users.models import User
6
from tests.test_blogs.factories.post import PostFactory
7

8

9
def test_initial(client: Client, user: User):
10
    """Test initial page."""
11
    post = PostFactory.create(author=user)
12

13
    client.force_login(user)
14
    response = client.get("/posts/{0}/edit/".format(post.id))
15

16
    assert response.status_code == HTTPStatus.OK
17
    assert post.title in response.rendered_content
18
    assert post.content in response.rendered_content
19

20

21
def test_initial_not_auth(client: Client, user: User):
22
    """Test initial page not auth."""
23
    post = PostFactory.create(author=user)
24

25
    response = client.get("/posts/{0}/edit/".format(post.id))
26

27
    assert response.status_code == HTTPStatus.FOUND
28
    assert response.url == "/login/"
29

30

31
def test_success(client: Client, user: User):
32
    """Test success update ."""
33
    post = PostFactory.create(author=user)
34

35
    client.force_login(user)
36
    response = client.post(
37
        "/posts/{0}/edit/".format(post.id),
38
        data={
39
            "title": "new title",
40
            "content": post.content,
41
            "status": post.status,
42
        },
43
    )
44

45
    assert response.status_code == HTTPStatus.FOUND
46
    assert response.url == "/posts/{0}/".format(post.id)
47

48
    post.refresh_from_db()
49
    assert post.title == "new title"
50

51

52
def test_not_auth(client: Client, user: User):
53
    """Test not auth user."""
54
    post = PostFactory.create(author=user)
55

56
    response = client.post(
57
        "/posts/{0}/edit/".format(post.id),
58
        data={
59
            "title": "new title",
60
            "content": post.content,
61
            "status": post.status,
62
        },
63
    )
64

65
    assert response.status_code == HTTPStatus.FOUND
66
    assert response.url == "/login/"
67

68

69
def test_not_owner(client: Client, user: User, another_user: User):
70
    """Test not owner."""
71
    post = PostFactory.create(author=another_user)
72

73
    response = client.post(
74
        "/posts/{0}/edit/".format(post.id),
75
        data={
76
            "title": "new title",
77
            "content": post.content,
78
            "status": post.status,
79
        },
80
    )
81

82
    assert response.status_code == HTTPStatus.FOUND
83
    assert response.url == "/login/"
84

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.