From 1386a90de8361cfa490c95e09505bdc59cbc9fc8 Mon Sep 17 00:00:00 2001 From: Robert Sparks Date: Thu, 22 Mar 2018 18:44:38 +0000 Subject: [PATCH] Test coverage improvements for ietf/secr/telechat/views. Commit ready for merge. - Legacy-Id: 14902 --- ietf/secr/telechat/tests.py | 80 ++++++++++++++++++++++++++++++++++++- 1 file changed, 78 insertions(+), 2 deletions(-) diff --git a/ietf/secr/telechat/tests.py b/ietf/secr/telechat/tests.py index d7925821f..a7ca60803 100644 --- a/ietf/secr/telechat/tests.py +++ b/ietf/secr/telechat/tests.py @@ -1,9 +1,12 @@ +# -*- coding: utf-8 -*- import datetime from pyquery import PyQuery +import debug # pyflakes:ignore + from django.urls import reverse -from ietf.doc.models import Document, State, BallotDocEvent, BallotType +from ietf.doc.models import Document, State, BallotDocEvent, BallotType, BallotPositionDocEvent from ietf.doc.utils import update_telechat, create_ballot_if_not_open from ietf.utils.test_utils import TestCase from ietf.iesg.models import TelechatDate @@ -15,7 +18,7 @@ SECR_USER='secretary' def augment_data(): TelechatDate.objects.create(date=datetime.datetime.today()) - + class SecrTelechatTestCase(TestCase): def test_main(self): "Main Test" @@ -87,3 +90,76 @@ class SecrTelechatTestCase(TestCase): self.assertEqual(q("#telechat-positions-table").find("th:contains('Block')").length,1) self.assertEqual(q("#telechat-positions-table").find("th:contains('Abstain')").length,1) self.assertEqual(q("#telechat-positions-table").find("th:contains('No Record')").length,1) + + def test_bash(self): + today = datetime.datetime.today() + TelechatDate.objects.create(date=today) + url = reverse('ietf.secr.telechat.views.bash',kwargs={'date':today.strftime('%Y-%m-%d')}) + self.client.login(username="secretary", password="secretary+password") + response = self.client.get(url) + self.assertEqual(response.status_code, 200) + + def test_doc_detail_post_update_ballot(self): + make_test_data() + by=Person.objects.get(name="(System)") + charter = Document.objects.filter(type='charter').first() + charter.set_state(State.objects.get(used=True, slug="intrev", type="charter")) + last_week = datetime.date.today()-datetime.timedelta(days=7) + BallotDocEvent.objects.create(type='created_ballot',by=by,doc=charter, rev=charter.rev, + ballot_type=BallotType.objects.get(doc_type=charter.type,slug='r-extrev'), + time=last_week) + d = get_next_telechat_date() + date = d.strftime('%Y-%m-%d') + update_telechat(None, charter, by, d) + url = reverse('ietf.secr.telechat.views.doc_detail', kwargs={'date':date, 'name':charter.name}) + self.client.login(username="secretary", password="secretary+password") + response = self.client.get(url) + self.assertEqual(response.status_code, 200) + response = self.client.post(url,{ + 'submit': 'update_ballot', + 'form-INITIAL_FORMS':7, + 'form-TOTAL_FORMS':7, + 'form-0-name': 'Ops Ad', + 'form-0-id': '13', + 'form-0-position': 'noobj', + 'form-1-name': 'AreaĆ° Irector', + 'form-1-id': '12', + 'form-2-name': 'Ad No1', + 'form-2-id': '16', + 'form-3-name': 'Ad No2', + 'form-3-id': '17', + 'form-4-name': 'Ad No3', + 'form-4-id': '18', + 'form-5-name': 'Ad No4', + 'form-5-id': '19', + 'form-6-name': 'Ad No5', + 'form-6-id': '20', + } + ) + self.assertEqual(response.status_code,302) + self.assertTrue(BallotPositionDocEvent.objects.filter(doc=charter, ad_id=13, pos__slug='noobj').exists()) + + def test_doc_detail_post_update_state(self): + make_test_data() + by=Person.objects.get(name="(System)") + charter = Document.objects.filter(type='charter').first() + charter.set_state(State.objects.get(used=True, slug="intrev", type="charter")) + last_week = datetime.date.today()-datetime.timedelta(days=7) + BallotDocEvent.objects.create(type='created_ballot',by=by,doc=charter, rev=charter.rev, + ballot_type=BallotType.objects.get(doc_type=charter.type,slug='r-extrev'), + time=last_week) + d = get_next_telechat_date() + date = d.strftime('%Y-%m-%d') + update_telechat(None, charter, by, d) + url = reverse('ietf.secr.telechat.views.doc_detail', kwargs={'date':date, 'name':charter.name}) + self.client.login(username="secretary", password="secretary+password") + response = self.client.get(url) + self.assertEqual(response.status_code, 200) + response = self.client.post(url,{ + 'submit': 'update_state', + 'state': 83, + 'substate': '', + } + ) + self.assertEqual(response.status_code,302) + self.assertEqual(charter.get_state('charter').slug,'notrev')