logs-collector/logs_collector/collector/tests/test_views.py

133 lines
4.5 KiB
Python
Raw Normal View History

2023-08-28 23:36:55 +08:00
from django.test import TestCase, Client
from django.urls import reverse
from account.models import User
2023-08-28 23:36:55 +08:00
from collector.models import Ticket, Platform
class TestViews(TestCase):
def setUp(self):
# create test user:
self.test_user = User.objects.create_user(
username='oops',
password='hG2wS231YPWmj3'
)
# create test client:
self.client = Client()
self.client.login(username='oops', password='hG2wS231YPWmj3')
# create test platform and ticket:
self.test_platform = Platform.objects.create(
name='vm6',
pretty_name='VMmanager 6'
)
self.test_ticket = Ticket.objects.create(
number=1488228,
platform=self.test_platform,
user=self.test_user
)
# test urls:
# -- -- -- --
# CREATE:
self.ticket_create_url = reverse('collector:create')
# READ:
self.all_tickets_list = reverse('collector:tickets')
self.platform_tickets_list = reverse(
'collector:platform',
args=[self.test_platform.name]
)
self.ticket_detail_url = reverse(
'collector:ticket',
args=[self.test_platform.name, self.test_ticket.number]
)
# UPDATE:
self.ticket_update_url = reverse(
'collector:update',
args=[self.test_platform.name, self.test_ticket.number]
)
# CREATE:
def test_create_ticket_POST(self):
response = self.client.post(
self.ticket_create_url,
data={
'number': 1111,
'platform': self.test_platform.name,
'attempts': 5
}
)
self.assertEquals(response.status_code, 302)
self.assertEquals(Ticket.objects.get(number=1111).number, 1111)
self.assertEquals(Ticket.objects.get(number=1111).platform.name, 'vm6')
self.assertEquals(
Ticket.objects.get(
number=1111).platform.pretty_name, 'VMmanager 6'
)
self.assertEquals(
Ticket.objects.get(number=1111).user.username, 'oops'
)
# READ:
def test_all_ticket_list_GET(self):
response = self.client.get(self.all_tickets_list)
self.assertEquals(response.status_code, 200)
self.assertTemplateUsed(response, 'collector/tickets.html')
self.assertTemplateUsed(response, 'collector/base.html')
self.assertTemplateUsed(response, 'base.html')
self.assertTemplateUsed(response, 'includes/theme_switcher.html')
self.assertTemplateUsed(response, 'includes/navigation.html')
self.assertTemplateUsed(response, 'collector/includes/pagination.html')
self.assertTemplateUsed(
response,
'collector/includes/ticket_info.html'
)
self.assertTemplateUsed(
response,
'collector/includes/modal_ticket.html'
)
def test_platform_tickets_list_GET(self):
response = self.client.get(self.platform_tickets_list)
self.assertEquals(response.status_code, 200)
self.assertTemplateUsed(response, 'collector/tickets.html')
def test_ticket_detail_GET(self):
response = self.client.get(self.ticket_detail_url)
self.assertEquals(response.status_code, 200)
self.assertTemplateUsed(response, 'collector/ticket.html')
self.assertTemplateUsed(
response, 'collector/includes/ticket_info.html'
)
self.assertTemplateUsed(
response, 'collector/includes/modal_ticket.html'
)
def test_ticket_create_GET(self):
response = self.client.get(self.ticket_create_url)
self.assertEquals(response.status_code, 200)
self.assertTemplateUsed(response, 'collector/ticket_create.html')
def test_ticket_update_GET(self):
response = self.client.get(self.ticket_update_url)
self.assertEquals(response.status_code, 200)
self.assertTemplateUsed(response, 'collector/ticket_create.html')
# UPDATE:
def test_ticket_update_UPDATE(self):
response = self.client.post(
self.ticket_update_url,
data={
'number': 1488229,
'platform': self.test_platform.name,
'attempts': 3
}
)
self.assertEquals(response.status_code, 302)
self.assertEquals(Ticket.objects.get(number=1488229).number, 1488229)
self.assertEquals(Ticket.objects.get(number=1488229).attempts, 3)