From 8f69665a9547f3716a23e5bfa84724e03f09aeda Mon Sep 17 00:00:00 2001 From: Andreas Zweili Date: Sun, 1 Mar 2020 11:48:09 +0100 Subject: [PATCH] add tests for the warranties table --- devices/tests/test_warranty_list.py | 55 +++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 devices/tests/test_warranty_list.py diff --git a/devices/tests/test_warranty_list.py b/devices/tests/test_warranty_list.py new file mode 100644 index 0000000..d56b3a1 --- /dev/null +++ b/devices/tests/test_warranty_list.py @@ -0,0 +1,55 @@ +from datetime import datetime +from datetime import timedelta +import pytest +from mixer.backend.django import mixer + +from django.test import Client + +from core.tests import helper + +pytestmark = pytest.mark.django_db + + +def test_warranties_view_not_logged_in(): + response = Client().get('/warranties/') + assert response.status_code == 302 and 'login' in response.url + + +def test_warranties_no_warranties_found(create_admin_user): + create_admin_user() + client = Client() + customer = mixer.blend('customers.Customer') + device = mixer.blend('devices.Device', customer=customer) + warranty = mixer.blend('devices.Warranty', device=device) + client.login(username="novartis-admin", password="password") + response = client.get('/warranties/') + assert (response.status_code == 200 + and helper.not_in_content(response, warranty.customer)) + + +def test_warranties_view_warranty_expired(create_admin_user): + fixture = create_admin_user() + device = mixer.blend('devices.Device', customer=fixture['customer']) + mixer.blend('devices.Warranty', device=device, valid_until="1970-01-01") + client = Client() + client.login(username="novartis-admin", password="password") + response = client.get('/warranties/') + assert (response.status_code == 200 + and ('bgcolor="red"' in response.content.decode('utf8'))) + + +def test_warranties_view_warranty_one_year_till_expiration(create_admin_user): + fixture = create_admin_user() + user = fixture['admin'] + user.is_superuser = True + user.save() + device = mixer.blend('devices.Device', customer=fixture['customer']) + not_one_year_more = (datetime.date(datetime.today() + timedelta(200))) + mixer.blend('devices.Warranty', + device=device, + valid_until=not_one_year_more) + client = Client() + client.login(username="novartis-admin", password="password") + response = client.get('/warranties/') + assert (response.status_code == 200 + and ('bgcolor="orange"' in response.content.decode('utf8')))