1- # tasks/tests/test_labels.py
21from django .test import TestCase
3- from django . urls import reverse
2+ from task_manager . users . models import MyUser
43from task_manager .labels .models import Label
5- from task_manager .tasks .models import Task
6- from django .contrib .auth import get_user_model
4+ from django .urls import reverse
5+ from django import test
6+
77
8- User = get_user_model ()
8+ @test .modify_settings (
9+ MIDDLEWARE = {
10+ "remove" : [
11+ "rollbar.contrib.django.middleware.RollbarNotifierMiddleware" ,
12+ ]
13+ }
14+ )
15+ class LabelsTest (TestCase ):
16+ fixtures = ["user.json" ]
917
10- class LabelCRUDTest (TestCase ):
1118 def setUp (self ):
12- self .label = Label .objects .create (name = 'Bug' )
13- self .user = User .objects .create_user (username = 'testuser' , password = '12345' )
14- self .client .login (username = 'testuser' , password = '12345' )
19+ self .label = Label .objects .create (name = "test" )
20+ self .user = MyUser .objects .last ()
1521
16- def test_label_list (self ):
17- response = self .client .get (reverse ('label-list' ))
22+ def test_label_page (self ):
23+ response = self .client .get (reverse ("labels:label_list" ))
1824 self .assertEqual (response .status_code , 200 )
19- self .assertContains (response , 'Bug' )
25+ self .assertTemplateUsed (response , template_name = "labels/label_list.html" )
2026
21- def test_label_create (self ):
22- response = self .client .post (reverse ('label-create' ), {'name' : 'Feature' })
27+ def test_create_label (self ):
28+ self .assertEqual (Label .objects .count (), 1 )
29+ response = self .client .post (
30+ reverse ("labels:create_label" ), {"name" : "test_label" }
31+ )
2332 self .assertEqual (response .status_code , 302 )
24- self .assertTrue (Label .objects .filter (name = 'Feature' ).exists ())
33+ self .assertEqual (Label .objects .count (), 2 )
34+ self .assertEqual (Label .objects .last ().name , "test_label" )
35+
36+ def test_update_label_unauthorized (self ):
37+ self .client .logout ()
38+ response = self .client .post (
39+ reverse ("labels:update_label" , kwargs = {"pk" : self .label .id }),
40+ {"name" : "bipki" },
41+ )
42+ self .assertEqual (response .status_code , 302 )
43+ self .assertEqual (response .url , reverse ("labels:label_list" ))
44+ self .label .refresh_from_db ()
45+ self .assertEqual (self .label .name , "test" )
46+
47+ def test_update_label_authorized (self ):
48+ self .client .force_login (self .user )
2549
26- def test_label_delete_with_tasks (self ):
27- task = Task .objects .create (title = 'Test' , author = self .user )
28- task .labels .add (self .label )
29- response = self .client .post (reverse ('label-delete' , args = [self .label .id ]))
50+ response = self .client .get (
51+ reverse ("labels:update_label" , kwargs = {"pk" : self .label .id })
52+ )
53+ self .assertEqual (response .status_code , 200 )
54+ self .assertTemplateUsed (response , template_name = "labels/update.html" )
55+
56+ response = self .client .post (
57+ reverse ("labels:update_label" , kwargs = {"pk" : self .label .id }),
58+ {"name" : "bipki" },
59+ )
60+ self .assertEqual (response .status_code , 302 )
61+ self .assertEqual (response .url , reverse ("labels:label_list" ))
62+ self .label .refresh_from_db ()
63+ self .assertEqual (self .label .name , "bipki" )
64+ self .client .logout ()
65+
66+ def test_delete_label (self ):
67+ self .client .force_login (self .user )
68+ response = self .client .get (
69+ reverse ("labels:delete_label" , kwargs = {"pk" : self .label .id })
70+ )
71+ self .assertEqual (response .status_code , 200 )
72+ self .assertTemplateUsed (response , template_name = "labels/delete.html" )
73+ response = self .client .post (
74+ reverse ("labels:delete_label" , kwargs = {"pk" : self .label .id })
75+ )
3076 self .assertEqual (response .status_code , 302 )
31- self .assertTrue (Label .objects .filter ( id = self . label . id ). exists ()) # Метка не удалена
77+ self .assertEqual (Label .objects .count (), 0 )
0 commit comments