import logging from django.urls import reverse from web.forms.forms import VoucherForm from web.models import Voucher from web.models.constants import VOUCHER_STATUS_NEW from web.tests.functions import create_voucher, create_study_subject, format_form_field, create_voucher_type from .. import LoggedInTestCase logger = logging.getLogger(__name__) class VoucherTypeViewTests(LoggedInTestCase): def test_render_add_voucher_request(self): response = self.client.get(reverse('web.views.voucher_add')) self.assertEqual(response.status_code, 200) def test_render_edit_voucher_request(self): voucher = create_voucher() response = self.client.get(reverse('web.views.voucher_edit', kwargs={'pk': voucher.id})) self.assertEqual(response.status_code, 200) def test_add_voucher(self): study_subject = create_study_subject() visit_detail_form = VoucherForm() form_data = { "status": VOUCHER_STATUS_NEW, "voucher_type": create_voucher_type().id } for key, value in visit_detail_form.initial.items(): form_data[key] = format_form_field(value) url = reverse('web.views.voucher_add') + '?study_subject_id=' + str(study_subject.id) response = self.client.post(url, data=form_data) self.assertEqual(response.status_code, 302) self.assertEqual(1, Voucher.objects.all().count()) def test_edit_voucher(self): voucher = create_voucher() voucher_form = VoucherForm(instance=voucher) form_data = {} for key, value in voucher_form.initial.items(): form_data[key] = format_form_field(value) form_data["usage_partner"] = "" form_data["use_date"] = "" url = reverse('web.views.voucher_edit', kwargs={'pk': voucher.id}) response = self.client.post(url, data=form_data) self.assertEqual(response.status_code, 302) self.assertEqual(1, Voucher.objects.all().count())