From 15b875200651c7e767aa276867087f3a1671a47f Mon Sep 17 00:00:00 2001 From: bashmak Date: Fri, 11 May 2018 12:24:17 +0300 Subject: [PATCH 1/2] add test for street add, delete end edit --- abonapp/tests.py | 60 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 59 insertions(+), 1 deletion(-) diff --git a/abonapp/tests.py b/abonapp/tests.py index 4767c60..ee5364c 100644 --- a/abonapp/tests.py +++ b/abonapp/tests.py @@ -1,12 +1,15 @@ from hashlib import md5 +from accounts_app.models import UserProfile +from django.shortcuts import resolve_url from django.test import TestCase, RequestFactory from django.conf import settings from django.utils import timezone from xmltodict import parse -from abonapp.models import Abon +from abonapp.models import Abon, AbonStreet from abonapp.pay_systems import allpay +from group_app.models import Group rf = RequestFactory() SERVICE_ID = getattr(settings, 'PAY_SERV_ID') @@ -196,3 +199,58 @@ class AllPayTestCase(TestCase): self.check_ballance() self.try_pay_double() self.non_existing_pay() + + +class StreetTestCase(TestCase): + group = None + street = None + + def setUp(self): + grp = Group.objects.create(title='Grp1') + self.street = AbonStreet.objects.create(name='test_street', group=grp) + AbonStreet.objects.create(name='test_street1', group=grp) + AbonStreet.objects.create(name='test_street2', group=grp) + AbonStreet.objects.create(name='test_street3', group=grp) + AbonStreet.objects.create(name='test_street4', group=grp) + AbonStreet.objects.create(name='test_street5', group=grp) + self.group = grp + my_admin = UserProfile.objects.create_superuser('+79781234567', 'local_superuser', 'ps') + # self.client.login(username=my_admin.username, password=my_admin.password) + self.adminuser = my_admin + + def test_street_make_cyrillic(self): + print('test_make_cyrillic_street') + # title = ''.join(chr(n) for n in range(1072, 1104)) + cyrrilic = 'абвгдежзийклмнопрстуфхцчшщъыьэюя' + self.client.force_login(self.adminuser) + url = resolve_url('abonapp:street_add', self.group.pk) + r = self.client.post(url, { + 'name': cyrrilic, + 'group': self.group.pk + }) + # print(r, r.content.decode('utf-8')) + self.assertEqual(r.status_code, 302) + + def test_street_edit(self): + print('test_edit_steet') + url = resolve_url('abonapp:street_edit', self.group.pk) + streets = AbonStreet.objects.exclude(pk=self.street.pk) + self.client.force_login(self.adminuser) + r = self.client.post(url, { + 'sid': tuple(s.id for s in streets), + 'sname': tuple('%s_' % s.name for s in streets) + }) + streets = AbonStreet.objects.exclude(pk=self.street.pk) + for street in streets: + self.assertTrue(street.name.endswith('_')) + self.assertEqual(r.status_code, 302) + + def test_street_del(self): + print('test_street_del') + self.client.force_login(self.adminuser) + for street in AbonStreet.objects.exclude(pk=self.street.pk): + url = resolve_url('abonapp:street_del', self.group.pk, street.pk) + r = self.client.get(url) + self.assertEqual(r.status_code, 302) + after_count = AbonStreet.objects.exclude(pk=self.street.pk).count() + self.assertEqual(after_count, 0) From c8b6c68b6436d5889b21bb9e2f37e70ed28b6f49 Mon Sep 17 00:00:00 2001 From: bashmak Date: Fri, 11 May 2018 17:22:00 +0300 Subject: [PATCH 2/2] Make tests for passport create, change and delete --- abonapp/models.py | 2 +- abonapp/templates/abonapp/passport_view.html | 16 ++--- abonapp/tests.py | 72 +++++++++++++++++++- abonapp/urls.py | 2 +- abonapp/views.py | 71 ++++++++++--------- 5 files changed, 119 insertions(+), 44 deletions(-) diff --git a/abonapp/models.py b/abonapp/models.py index e6349fc..6cf8e74 100644 --- a/abonapp/models.py +++ b/abonapp/models.py @@ -296,7 +296,7 @@ class PassportInfo(models.Model): number = models.CharField(_('Pasport number'), max_length=6, validators=(validators.integer_validator,)) distributor = models.CharField(_('Distributor'), max_length=64) date_of_acceptance = models.DateField() - abon = models.OneToOneField(Abon, on_delete=models.SET_NULL, blank=True, null=True) + abon = models.OneToOneField(Abon, on_delete=models.CASCADE, blank=True, null=True) class Meta: db_table = 'passport_info' diff --git a/abonapp/templates/abonapp/passport_view.html b/abonapp/templates/abonapp/passport_view.html index 8699829..86c37ee 100644 --- a/abonapp/templates/abonapp/passport_view.html +++ b/abonapp/templates/abonapp/passport_view.html @@ -4,7 +4,7 @@ {% block content %}
-
+

{% trans 'Passport information' %}

@@ -12,14 +12,14 @@
{% csrf_token %} - {% bootstrap_field frm.series label_class='col-sm-3' field_class='col-sm-9' form_group_class='form-group-sm' %} - {% bootstrap_field frm.number label_class='col-sm-3' field_class='col-sm-9' form_group_class='form-group-sm' %} - {% bootstrap_field frm.distributor label_class='col-sm-3' field_class='col-sm-9' form_group_class='form-group-sm' %} + {% bootstrap_field form.series label_class='col-sm-5 col-md-3' field_class='col-sm-7 col-md-9' form_group_class='form-group-sm' %} + {% bootstrap_field form.number label_class='col-sm-5 col-md-3' field_class='col-sm-7 col-md-9' form_group_class='form-group-sm' %} + {% bootstrap_field form.distributor label_class='col-sm-5 col-md-3' field_class='col-sm-7 col-md-9' form_group_class='form-group-sm' %}
- -
- {{ frm.date_of_acceptance }}{{ frm.date_of_acceptance.errors }} + +
+ {{ form.date_of_acceptance }}{{ form.date_of_acceptance.errors }}