|
| 1 | +# -*- coding: utf-8 -*- |
1 | 2 | import datetime |
2 | 3 | from pyquery import PyQuery |
3 | 4 |
|
| 5 | +import debug # pyflakes:ignore |
| 6 | + |
4 | 7 | from django.urls import reverse |
5 | 8 |
|
6 | | -from ietf.doc.models import Document, State, BallotDocEvent, BallotType |
| 9 | +from ietf.doc.models import Document, State, BallotDocEvent, BallotType, BallotPositionDocEvent |
7 | 10 | from ietf.doc.utils import update_telechat, create_ballot_if_not_open |
8 | 11 | from ietf.utils.test_utils import TestCase |
9 | 12 | from ietf.iesg.models import TelechatDate |
|
15 | 18 |
|
16 | 19 | def augment_data(): |
17 | 20 | TelechatDate.objects.create(date=datetime.datetime.today()) |
18 | | - |
| 21 | + |
19 | 22 | class SecrTelechatTestCase(TestCase): |
20 | 23 | def test_main(self): |
21 | 24 | "Main Test" |
@@ -87,3 +90,76 @@ def test_doc_detail_charter(self): |
87 | 90 | self.assertEqual(q("#telechat-positions-table").find("th:contains('Block')").length,1) |
88 | 91 | self.assertEqual(q("#telechat-positions-table").find("th:contains('Abstain')").length,1) |
89 | 92 | self.assertEqual(q("#telechat-positions-table").find("th:contains('No Record')").length,1) |
| 93 | + |
| 94 | + def test_bash(self): |
| 95 | + today = datetime.datetime.today() |
| 96 | + TelechatDate.objects.create(date=today) |
| 97 | + url = reverse('ietf.secr.telechat.views.bash',kwargs={'date':today.strftime('%Y-%m-%d')}) |
| 98 | + self.client.login(username="secretary", password="secretary+password") |
| 99 | + response = self.client.get(url) |
| 100 | + self.assertEqual(response.status_code, 200) |
| 101 | + |
| 102 | + def test_doc_detail_post_update_ballot(self): |
| 103 | + make_test_data() |
| 104 | + by=Person.objects.get(name="(System)") |
| 105 | + charter = Document.objects.filter(type='charter').first() |
| 106 | + charter.set_state(State.objects.get(used=True, slug="intrev", type="charter")) |
| 107 | + last_week = datetime.date.today()-datetime.timedelta(days=7) |
| 108 | + BallotDocEvent.objects.create(type='created_ballot',by=by,doc=charter, rev=charter.rev, |
| 109 | + ballot_type=BallotType.objects.get(doc_type=charter.type,slug='r-extrev'), |
| 110 | + time=last_week) |
| 111 | + d = get_next_telechat_date() |
| 112 | + date = d.strftime('%Y-%m-%d') |
| 113 | + update_telechat(None, charter, by, d) |
| 114 | + url = reverse('ietf.secr.telechat.views.doc_detail', kwargs={'date':date, 'name':charter.name}) |
| 115 | + self.client.login(username="secretary", password="secretary+password") |
| 116 | + response = self.client.get(url) |
| 117 | + self.assertEqual(response.status_code, 200) |
| 118 | + response = self.client.post(url,{ |
| 119 | + 'submit': 'update_ballot', |
| 120 | + 'form-INITIAL_FORMS':7, |
| 121 | + 'form-TOTAL_FORMS':7, |
| 122 | + 'form-0-name': 'Ops Ad', |
| 123 | + 'form-0-id': '13', |
| 124 | + 'form-0-position': 'noobj', |
| 125 | + 'form-1-name': 'Areað Irector', |
| 126 | + 'form-1-id': '12', |
| 127 | + 'form-2-name': 'Ad No1', |
| 128 | + 'form-2-id': '16', |
| 129 | + 'form-3-name': 'Ad No2', |
| 130 | + 'form-3-id': '17', |
| 131 | + 'form-4-name': 'Ad No3', |
| 132 | + 'form-4-id': '18', |
| 133 | + 'form-5-name': 'Ad No4', |
| 134 | + 'form-5-id': '19', |
| 135 | + 'form-6-name': 'Ad No5', |
| 136 | + 'form-6-id': '20', |
| 137 | + } |
| 138 | + ) |
| 139 | + self.assertEqual(response.status_code,302) |
| 140 | + self.assertTrue(BallotPositionDocEvent.objects.filter(doc=charter, ad_id=13, pos__slug='noobj').exists()) |
| 141 | + |
| 142 | + def test_doc_detail_post_update_state(self): |
| 143 | + make_test_data() |
| 144 | + by=Person.objects.get(name="(System)") |
| 145 | + charter = Document.objects.filter(type='charter').first() |
| 146 | + charter.set_state(State.objects.get(used=True, slug="intrev", type="charter")) |
| 147 | + last_week = datetime.date.today()-datetime.timedelta(days=7) |
| 148 | + BallotDocEvent.objects.create(type='created_ballot',by=by,doc=charter, rev=charter.rev, |
| 149 | + ballot_type=BallotType.objects.get(doc_type=charter.type,slug='r-extrev'), |
| 150 | + time=last_week) |
| 151 | + d = get_next_telechat_date() |
| 152 | + date = d.strftime('%Y-%m-%d') |
| 153 | + update_telechat(None, charter, by, d) |
| 154 | + url = reverse('ietf.secr.telechat.views.doc_detail', kwargs={'date':date, 'name':charter.name}) |
| 155 | + self.client.login(username="secretary", password="secretary+password") |
| 156 | + response = self.client.get(url) |
| 157 | + self.assertEqual(response.status_code, 200) |
| 158 | + response = self.client.post(url,{ |
| 159 | + 'submit': 'update_state', |
| 160 | + 'state': 83, |
| 161 | + 'substate': '', |
| 162 | + } |
| 163 | + ) |
| 164 | + self.assertEqual(response.status_code,302) |
| 165 | + self.assertEqual(charter.get_state('charter').slug,'notrev') |
0 commit comments