Skip to content

Commit

Permalink
Merge pull request #53 from yduman/user-story-52
Browse files Browse the repository at this point in the history
Sending of mails in relation to status of lectures
  • Loading branch information
ckleemann committed Mar 20, 2017
2 parents f8125d7 + 1445321 commit f319bdd
Show file tree
Hide file tree
Showing 10 changed files with 1,907 additions and 119 deletions.
Binary file added media/jquery/chosen/chosen-sprite.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added media/jquery/chosen/chosen-sprite@2x.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
447 changes: 447 additions & 0 deletions media/jquery/chosen/chosen.css

Large diffs are not rendered by default.

1,269 changes: 1,269 additions & 0 deletions media/jquery/chosen/chosen.jquery.js

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions media/jquery/chosen/chosen.jquery.min.js

Large diffs are not rendered by default.

3 changes: 3 additions & 0 deletions media/jquery/chosen/chosen.min.css

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

40 changes: 23 additions & 17 deletions src/feedback/tests/test_views_intern.py
Original file line number Diff line number Diff line change
Expand Up @@ -440,36 +440,41 @@ def test_post(self):
mv = Mailvorlage.objects.create(subject='Testmail', body='Dies ist eine Testmail.')
Einstellung.objects.create(name='bestellung_erlaubt', wert='0')

params = {'uebernehmen': 'x', 'recipient': 'cur_sem_missing_order', 'subject': 'abc', 'body': 'xyz'}
data = {
'uebernehmen': 'x',
'recipient': [Veranstaltung.STATUS_BESTELLUNG_GEOEFFNET],
'subject': 'abc',
'body': 'xyz'
}

# kein Semester angegeben
response = self.client.post(self.path, params, **{'REMOTE_USER': 'super'})
response = self.client.post(self.path, data, **{'REMOTE_USER': 'super'})
self.assertEqual(response.status_code, 302)
self.assertTrue(response['Location'].endswith('/intern/sendmail/'))

# Vorlage übernehmen; Vorlage nicht angegeben
params['semester'] = s.semester
response = self.client.post(self.path, params, **{'REMOTE_USER': 'super'})
data['semester'] = s.semester
response = self.client.post(self.path, data, **{'REMOTE_USER': 'super'})
self.assertEqual(response.status_code, 302)
self.assertTrue(response['Location'].endswith('/intern/sendmail/'))

# Vorlage übernehmen; Vorlage ist angegeben
params['vorlage'] = mv.id
response = self.client.post(self.path, params, **{'REMOTE_USER': 'super'})
data['vorlage'] = mv.id
response = self.client.post(self.path, data, **{'REMOTE_USER': 'super'})
self.assertEqual(response.templates[0].name, 'intern/sendmail.html')
self.assertEqual(response.context['subject'], mv.subject)
self.assertEqual(response.context['body'], mv.body)

# Vorschau; Empfänger ist auf Veranstalter mit fehlenden Bestellungen eingestellt
del params['uebernehmen']
params['vorschau'] = 'x'
response = self.client.post(self.path, params, **{'REMOTE_USER': 'super'})
del data['uebernehmen']
data['vorschau'] = 'x'
response = self.client.post(self.path, data, **{'REMOTE_USER': 'super'})
self.assertIn('intern/sendmail_preview.html', (t.name for t in response.templates))
self.assertTrue(response.context['vorschau'])

# Vorschau; Empfänger ist auf Veranstaltungen mit Ergebnissen eingestellt
params['recipient'] = 'cur_sem_results'
response = self.client.post(self.path, params, **{'REMOTE_USER': 'super'})
data['recipient'] = [Veranstaltung.STATUS_ERGEBNISSE_VERSANDT]
response = self.client.post(self.path, data, **{'REMOTE_USER': 'super'})
self.assertIn('intern/sendmail_preview.html', (t.name for t in response.templates))
self.assertTrue(response.context['vorschau'])

Expand All @@ -478,14 +483,15 @@ def test_post(self):
self.assertEqual(color_span.format('Grundlagen der Agrarphilosophie I') , response.context['veranstaltung'])
link_veranstalter = 'https://www.fachschaft.informatik.tu-darmstadt.de%s' % reverse('veranstalter-login')
link_suffix_format = '?vid=%d&token=%s'
self.assertEqual(color_span.format(link_veranstalter + (link_suffix_format % (1337, '0123456789abcdef'))) , response.context['link_veranstalter'])
self.assertEqual(color_span.format(link_veranstalter + (link_suffix_format % (1337, '0123456789abcdef'))),
response.context['link_veranstalter'])

# Senden
del params['vorschau']
params['senden'] = 'x'
params['recipient'] = 'cur_sem_all'
del params['vorlage']
response = self.client.post(self.path, params, **{'REMOTE_USER': 'super'})
del data['vorschau']
data['senden'] = 'x'
data['recipient'] = [0] # 0 ist hierbei der Code für alle Veranstaltungen
del data['vorlage']
response = self.client.post(self.path, data, **{'REMOTE_USER': 'super'})
self.assertEqual(response.status_code, 302)
self.assertTrue(response['Location'], tests.LOGIN_URL)
# Hier wird in Eclipse ein Fehler angezeigt; mail.outbox gibt es während der Testläufe
Expand Down
Loading

0 comments on commit f319bdd

Please sign in to comment.