def test_default_success_url(self): group1builder = self.assignment1builder\ .add_group(examiners=[self.examiner1]) deadline_datetime = Deadline.reduce_datetime_precision(DateTimeBuilder.now().plus(days=10)) response = self._postas(self.examiner1, { 'group_ids': [group1builder.group.id], 'deadline': isoformat_datetime(deadline_datetime), 'text': 'Hello world', 'add_deadline_form': 'i18nlabel' }) self.assertEquals(response.status_code, 302) self.assertTrue(response['Location'].endswith( reverse('devilry_examiner_allgroupsoverview', kwargs={'assignmentid': self.assignment1builder.assignment.id})))
def test_header(self): deliverybuilder = self.week1builder\ .add_group(students=[self.student1], examiners=[self.examiner1])\ .add_deadline_in_x_weeks(weeks=1)\ .add_delivery_x_hours_before_deadline(hours=1) with self.settings(DATETIME_FORMAT=DJANGO_ISODATETIMEFORMAT, USE_L10N=False): response = self._getas('examiner1', deliverybuilder.delivery.id) self.assertEquals(response.status_code, 200) html = response.content self.assertEquals(cssGet(html, '.page-header h1').text.strip(), 'Week 1 — Student One') self.assertEquals(cssGet(html, '.page-header .subheader').text.strip(), 'Delivery 1/1-{}'.format(isoformat_datetime(deliverybuilder.delivery.time_of_delivery)))
def test_custom_success_url(self): group1builder = self.assignment1builder\ .add_group(examiners=[self.examiner1]) deadline_datetime = Deadline.reduce_datetime_precision(DateTimeBuilder.now().plus(days=10)) response = self._postas(self.examiner1, { 'group_ids': [group1builder.group.id], 'deadline': isoformat_datetime(deadline_datetime), 'text': 'Hello world', 'success_url': '/my/test', 'add_deadline_form': 'i18nlabel' }) self.assertEquals(response.status_code, 302) self.assertTrue(response['Location'].endswith('/my/test'))
def test_post_no_text_checkbox_required(self): group1builder = self.assignment1builder\ .add_group(examiners=[self.examiner1]) deadline_datetime = Deadline.reduce_datetime_precision(DateTimeBuilder.now().plus(days=10)) response = self._postas(self.examiner1, { 'group_ids': [group1builder.group.id], 'deadline': isoformat_datetime(deadline_datetime), 'add_deadline_form': 'i18nlabel' }) self.assertEquals(response.status_code, 200) group1builder.reload_from_db() self.assertEquals(group1builder.group.last_deadline, None) self.assertIn('You must specify an "About this deadline" message, or select that you do not want to specify a message.', response.content)
def test_post_no_text(self): group1builder = self.assignment1builder\ .add_group(examiners=[self.examiner1]) deadline_datetime = Deadline.reduce_datetime_precision(DateTimeBuilder.now().plus(days=10)) response = self._postas(self.examiner1, { 'group_ids': [group1builder.group.id], 'deadline': isoformat_datetime(deadline_datetime), 'add_deadline_form': 'i18nlabel', 'no_text': 'on' }) self.assertEquals(response.status_code, 302) group1builder.reload_from_db() self.assertEquals(group1builder.group.last_deadline.deadline, deadline_datetime) self.assertEquals(group1builder.group.last_deadline.text, '')
def test_post_why_created(self): group1builder = self.assignment1builder\ .add_group(examiners=[self.examiner1]) deadline_datetime = Deadline.reduce_datetime_precision(DateTimeBuilder.now().plus(days=10)) response = self._postas(self.examiner1, { 'group_ids': [group1builder.group.id], 'deadline': isoformat_datetime(deadline_datetime), 'text': 'Hello world', 'why_created': 'examiner-gave-another-chance', 'add_deadline_form': 'i18nlabel' }) self.assertEquals(response.status_code, 302) group1builder.reload_from_db() self.assertEquals(group1builder.group.last_deadline.why_created, 'examiner-gave-another-chance')
def test_post_no_text_checked_and_text_provided(self): group1builder = self.assignment1builder\ .add_group(examiners=[self.examiner1]) deadline_datetime = Deadline.reduce_datetime_precision(DateTimeBuilder.now().plus(days=10)) response = self._postas(self.examiner1, { 'group_ids': [group1builder.group.id], 'deadline': isoformat_datetime(deadline_datetime), 'add_deadline_form': 'i18nlabel', 'no_text': 'on', 'text': 'Test' }) self.assertEquals(response.status_code, 200) group1builder.reload_from_db() self.assertEquals(group1builder.group.last_deadline, None) self.assertIn('If you do not want to provide an "About this deadline" message, you have to clear the text field.', response.content)