def test_invalid_state(self): Einstellung.objects.create(name='bestellung_erlaubt', wert='0') c = login_veranstalter(self.v) self.v.status = Veranstaltung.STATUS_GEDRUCKT self.v.save() response = c.get('/veranstalter/bestellung') self.assertEqual(302, response.status_code)
def test_post_kommentar(self): c = login_veranstalter(self.v) self.s.sichtbarkeit = 'VER' self.s.save() c.post('/veranstalter/', {'veranstaltung': self.v, 'autor': self.p.id, 'text': 'Toll!'}) self.v = Veranstaltung.objects.get(id=self.v.id) self.assertEqual(self.v.kommentar.text, 'Toll!')
def test_get_kommentar(self): self.s.sichtbarkeit = 'VER' self.s.save() c = login_veranstalter(self.v) response = c.get('/veranstalter/') ctx = response.context self.assertTrue(isinstance(ctx['comment_form'], KommentarModelForm))
def test_get_bestellung(self): Einstellung.objects.create(name='bestellung_erlaubt', wert='1') c = login_veranstalter(self.v) response = c.get('/veranstalter/') ctx = response.context self.assertTrue(isinstance(ctx['order_form'], BestellungModelForm)) self.assertNotContains(response, 'Information zur Vollerhebung') self.assertContains(response, 'Evaluieren:')
def test_get_bestellung(self): Einstellung.objects.create(name='bestellung_erlaubt', wert='1') c = login_veranstalter(self.v) response = c.get('/veranstalter/') ctx = response.context self.assertTrue(isinstance(ctx['order_form'], BestellungModelForm)) self.assertNotContains(response,'Information zur Vollerhebung') self.assertContains(response,'Evaluieren:')
def test_missing_sessionid(self): c = login_veranstalter(self.v) del c.cookies['sessionid'] response = c.post( '/veranstalter/bestellung', { 'evaluation-evaluieren': True, "veranstalter_wizard-current_step": "evaluation" }) self.assertEqual(response.status_code, 404)
def test_nothing(self): Einstellung.objects.create(name='bestellung_erlaubt', wert='0') c = login_veranstalter(self.v) response = c.get('/veranstalter/') ctx = response.context self.assertEqual(ctx['veranstaltung'], self.v) with self.assertRaises(KeyError): ctx['order_form'] with self.assertRaises(KeyError): ctx['comment_form']
def test_post_kommentar(self): c = login_veranstalter(self.v) self.s.sichtbarkeit = 'VER' self.s.save() c.post('/veranstalter/', { 'veranstaltung': self.v, 'autor': self.p.id, 'text': 'Toll!' }) self.v = Veranstaltung.objects.get(id=self.v.id) self.assertEqual(self.v.kommentar.text, 'Toll!')
def test_get_bestellung_vollerhebung(self): """Teste ob der Hinweis zur Vollerhebung angezeigt wird und ein Austragen nicht möglich ist""" self.s.vollerhebung = True self.s.save() Einstellung.objects.create(name='bestellung_erlaubt', wert='1') c = login_veranstalter(self.v) response = c.get('/veranstalter/') ctx = response.context self.assertTrue(isinstance(ctx['order_form'], BestellungModelForm)) self.assertContains(response, 'Information zur Vollerhebung') self.assertNotContains(response, 'Evaluieren:')
def test_get_bestellung_vollerhebung(self): """Teste ob der Hinweis zur Vollerhebung angezeigt wird und ein Austragen nicht möglich ist""" self.s.vollerhebung = True self.s.save() Einstellung.objects.create(name='bestellung_erlaubt', wert='1') c = login_veranstalter(self.v) response = c.get('/veranstalter/') ctx = response.context self.assertTrue(isinstance(ctx['order_form'], BestellungModelForm)) self.assertContains(response,'Information zur Vollerhebung') self.assertNotContains(response,'Evaluieren:')
def test_post_bestellung(self): Einstellung.objects.create(name='bestellung_erlaubt', wert='1') c = login_veranstalter(self.v) c.post( '/veranstalter/', { 'anzahl': 42, 'sprache': 'de', 'typ': 'vu', 'verantwortlich': self.p.id }) self.v = Veranstaltung.objects.get(id=self.v.id) self.assertEqual(self.v.anzahl, 42)
def test_post_bestellung_without_excercises(self): Einstellung.objects.create(name='bestellung_erlaubt', wert='1') c = login_veranstalter(self.v_wo_excercises) c.post( '/veranstalter/bestellung', { 'evaluation-evaluieren': True, "veranstalter_wizard-current_step": "evaluation" }) c.post( '/veranstalter/bestellung', { "veranstalter_wizard-current_step": "basisdaten", "basisdaten-typ": "v", "basisdaten-anzahl": 11, "basisdaten-sprache": "de", "basisdaten-verantwortlich": self.p3.id, "basisdaten-ergebnis_empfaenger": self.p3.id, "save": "Speichern" }) c.post( '/veranstalter/bestellung', { "veranstalter_wizard-current_step": "verantwortlicher_address", "verantwortlicher_address-email": "*****@*****.**", "verantwortlicher_address-anschrift": "Alexanderstrasse 8, 64287 Darmstadt" }) c.post( '/veranstalter/bestellung', { "veranstalter_wizard-current_step": "freie_fragen", "freie_fragen-freifrage1": "Ist das die erste Frage?", "freie_fragen-freifrage2": "Ist das die zweite Frage?" }) response_fourth_step = c.post( '/veranstalter/bestellung', { 'veroeffentlichen-veroeffentlichen': True, "veranstalter_wizard-current_step": "veroeffentlichen" }) self.assertEqual(Tutor.objects.count(), 0) self.v.refresh_from_db() self.p.refresh_from_db() self.assertTemplateUsed(response_fourth_step, "formtools/wizard/zusammenfassung.html") self.assertEqual(Tutor.objects.count(), 0)
def test_post_access_bestellung(self): Einstellung.objects.create(name='bestellung_erlaubt', wert='1') self.v.status = Veranstaltung.STATUS_BESTELLUNG_LIEGT_VOR self.v.save() c = login_veranstalter(self.v) response_firststep = c.post( '/veranstalter/bestellung', { 'evaluation-evaluieren': True, "veranstalter_wizard-current_step": "evaluation" }) self.v.refresh_from_db() self.assertTrue(self.v.evaluieren) self.assertTemplateUsed(response_firststep, "formtools/wizard/basisdaten.html")
def test_post_bestellung_vollerhebung(self): self.s.vollerhebung = True self.s.save() Einstellung.objects.create(name='bestellung_erlaubt', wert='1') c = login_veranstalter(self.v) # Post mit fehlenden Daten ist nicht valide c.post('/veranstalter/', {'anzahl': 42}) self.v = Veranstaltung.objects.get(id=self.v.id) self.assertEqual(self.v.anzahl, None) # Post mit allen Daten ist valide c.post('/veranstalter/', {'anzahl': 42, 'sprache': 'de', 'typ': 'vu', 'verantwortlich': self.p.id, 'ergebnis_empfaenger': {self.p.id}, } ) self.v = Veranstaltung.objects.get(id=self.v.id) self.assertEqual(self.v.anzahl, 42)
def test_post_bestellung_vollerhebung(self): self.s.vollerhebung = True self.s.save() Einstellung.objects.create(name='bestellung_erlaubt', wert='1') c = login_veranstalter(self.v) # Post mit fehlenden Daten ist nicht valide c.post('/veranstalter/', {'anzahl': 42}) self.v = Veranstaltung.objects.get(id=self.v.id) self.assertEqual(self.v.anzahl, None) # Post mit allen Daten ist valide c.post( '/veranstalter/', { 'anzahl': 42, 'sprache': 'de', 'typ': 'vu', 'verantwortlich': self.p.id, 'ergebnis_empfaenger': {self.p.id}, }) self.v = Veranstaltung.objects.get(id=self.v.id) self.assertEqual(self.v.anzahl, 42)
def test_post_bestellung_vollerhebung(self): self.s.vollerhebung = True self.s.save() Einstellung.objects.create(name='bestellung_erlaubt', wert='1') c = login_veranstalter(self.v) response_vollerhebung = c.get('/veranstalter/bestellung') self.assertContains(response_vollerhebung, "<h2>Information zur Vollerhebung</h2>") response_firststep = c.post( '/veranstalter/bestellung', { "evaluation-evaluieren": True, "veranstalter_wizard-current_step": "evaluation" }) self.v.refresh_from_db() self.assertTrue(self.v.evaluieren) self.assertTemplateUsed(response_firststep, "formtools/wizard/basisdaten.html")
def test_post_keine_evaluation(self): Einstellung.objects.create(name='bestellung_erlaubt', wert='1') c = login_veranstalter(self.v) response_firststep = c.post( '/veranstalter/bestellung', { "evaluation-evaluieren": False, "veranstalter_wizard-current_step": "evaluation" }) self.assertTemplateUsed(response_firststep, "formtools/wizard/zusammenfassung.html") response_second = c.post( '/veranstalter/bestellung', {"veranstalter_wizard-current_step": "zusammenfassung"}) self.v.refresh_from_db() self.assertTemplateUsed(response_second, "formtools/wizard/bestellung_done.html") self.assertFalse(self.v.evaluieren) self.assertEqual(self.v.status, Veranstaltung.STATUS_KEINE_EVALUATION) self.assertTemplateUsed(response_firststep, "formtools/wizard/zusammenfassung.html")
def test_status_changes(self): Einstellung.objects.create(name='bestellung_erlaubt', wert='1') c = login_veranstalter(self.v) c.post( '/veranstalter/bestellung', { "evaluation-evaluieren": False, "veranstalter_wizard-current_step": "evaluation" }) c.post('/veranstalter/bestellung', {"veranstalter_wizard-current_step": "zusammenfassung"}) self.v.refresh_from_db() self.assertFalse(self.v.evaluieren) self.assertEqual(self.v.status, Veranstaltung.STATUS_KEINE_EVALUATION) c.post( '/veranstalter/bestellung', { 'evaluation-evaluieren': True, "veranstalter_wizard-current_step": "evaluation" }) c.post( '/veranstalter/bestellung', { "veranstalter_wizard-current_step": "basisdaten", "basisdaten-typ": "vu", "basisdaten-anzahl": 22, "basisdaten-sprache": "de", "basisdaten-verantwortlich": self.p.id, "basisdaten-ergebnis_empfaenger": [self.p.id, self.p2.id], "basisdaten-auswertungstermin": '2011-01-01', "save": "Speichern" }) c.post( '/veranstalter/bestellung', { "veranstalter_wizard-current_step": "primaerdozent", "primaerdozent-primaerdozent": self.p.id }) c.post( '/veranstalter/bestellung', { "veranstalter_wizard-current_step": "verantwortlicher_address", "verantwortlicher_address-email": "*****@*****.**", "verantwortlicher_address-anschrift": "Alexanderstrasse 8, 64287 Darmstadt" }) c.post( '/veranstalter/bestellung', { "veranstalter_wizard-current_step": "freie_fragen", "freie_fragen-freifrage1": "Ist das die erste Frage?", "freie_fragen-freifrage2": "Ist das die zweite Frage?" }) c.post( '/veranstalter/bestellung', { "veranstalter_wizard-current_step": "tutoren", "tutoren-csv_tutoren": "Müller,Max,[email protected],Bemerkung1\nMustermann,Erika,[email protected]" }) c.post( '/veranstalter/bestellung', { 'veroeffentlichen-veroeffentlichen': True, "veranstalter_wizard-current_step": "veroeffentlichen" }) c.post('/veranstalter/bestellung', {"veranstalter_wizard-current_step": "zusammenfassung"}) self.v.refresh_from_db() self.p.refresh_from_db() self.assertTrue(self.v.evaluieren) self.assertEqual(self.v.status, Veranstaltung.STATUS_BESTELLUNG_LIEGT_VOR) c.post( '/veranstalter/bestellung', { "evaluation-evaluieren": False, "veranstalter_wizard-current_step": "evaluation" }) c.post('/veranstalter/bestellung', {"veranstalter_wizard-current_step": "zusammenfassung"}) self.v.refresh_from_db() self.assertFalse(self.v.evaluieren) self.assertEqual(self.v.status, Veranstaltung.STATUS_KEINE_EVALUATION)
def test_post_bestellung_ein_ergebnis_empfaenger(self): Einstellung.objects.create(name='bestellung_erlaubt', wert='1') c = login_veranstalter(self.v) response_firststep = c.post( '/veranstalter/bestellung', { 'evaluation-evaluieren': True, "veranstalter_wizard-current_step": "evaluation" }) self.assertTemplateUsed(response_firststep, "formtools/wizard/basisdaten.html") response_secondstep = c.post( '/veranstalter/bestellung', { "veranstalter_wizard-current_step": "basisdaten", "basisdaten-typ": "vu", "basisdaten-anzahl": 22, "basisdaten-sprache": "de", "basisdaten-verantwortlich": self.p.id, "basisdaten-ergebnis_empfaenger": self.p2.id, "basisdaten-auswertungstermin": '2011-01-01', "save": "Speichern" }) self.assertTemplateUsed(response_secondstep, "formtools/wizard/address.html") response_fourth_step = c.post( '/veranstalter/bestellung', { "veranstalter_wizard-current_step": "verantwortlicher_address", "verantwortlicher_address-email": "*****@*****.**", "verantwortlicher_address-anschrift": "Alexanderstrasse 8, 64287 Darmstadt" }) self.assertTemplateUsed(response_fourth_step, "formtools/wizard/freiefragen.html") response_fifth_step = c.post( '/veranstalter/bestellung', { "veranstalter_wizard-current_step": "freie_fragen", "freie_fragen-freifrage1": "Ist das die erste Frage?", "freie_fragen-freifrage2": "Ist das die zweite Frage?" }) self.assertTemplateUsed(response_fifth_step, "formtools/wizard/tutoren.html") self.assertEqual(Tutor.objects.count(), 0) response_sixth_step = c.post( '/veranstalter/bestellung', { "veranstalter_wizard-current_step": "tutoren", "tutoren-csv_tutoren": "Müller,Max,[email protected],Bemerkung1\nMustermann,Erika,[email protected]" }) self.assertTemplateUsed(response_sixth_step, "formtools/wizard/veroeffentlichen.html") response_seventh_step = c.post( '/veranstalter/bestellung', { 'veroeffentlichen-veroeffentlichen': True, "veranstalter_wizard-current_step": "veroeffentlichen" }) self.assertTemplateUsed(response_seventh_step, "formtools/wizard/zusammenfassung.html") response_eight_step = c.post( '/veranstalter/bestellung', {"veranstalter_wizard-current_step": "zusammenfassung"}) self.v.refresh_from_db() self.p.refresh_from_db() self.assertTemplateUsed(response_eight_step, "formtools/wizard/bestellung_done.html") self.assertTrue(self.v.evaluieren) self.assertEqual(self.v.primaerdozent, self.p2) self.assertEqual(Tutor.objects.count(), 2) self.assertEqual(self.p.email, "*****@*****.**")
def test_post_bestellung(self): Einstellung.objects.create(name='bestellung_erlaubt', wert='1') c = login_veranstalter(self.v) c.post('/veranstalter/', {'anzahl': 42, 'sprache': 'de', 'typ': 'vu', 'verantwortlich': self.p.id}) self.v = Veranstaltung.objects.get(id=self.v.id) self.assertEqual(self.v.anzahl, 42)