133 lines
4.5 KiB
Python
133 lines
4.5 KiB
Python
from django.test import TestCase, Client
|
|
from django.urls import reverse
|
|
|
|
from account.models import User
|
|
|
|
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)
|