diff --git a/tests/test_progit_flask_ui_plugins.py b/tests/test_progit_flask_ui_plugins.py
index d6a8527..6c4c31f 100644
--- a/tests/test_progit_flask_ui_plugins.py
+++ b/tests/test_progit_flask_ui_plugins.py
@@ -65,6 +65,11 @@ class ProgitFlaskPluginstests(tests.Modeltests):
output = self.app.get('/test/settings/Mail')
self.assertEqual(output.status_code, 403)
+ def test_plugin_mail(self):
+ """ Test the mail plugin on/off endpoint. """
+
+ tests.create_projects(self.session)
+
user = tests.FakeUser(username='pingou')
with tests.user_set(progit.APP, user):
output = self.app.get('/test/settings/Mail')
@@ -72,8 +77,7 @@ class ProgitFlaskPluginstests(tests.Modeltests):
self.assertTrue('
test project #1
' in output.data)
self.assertTrue('Mail ' in output.data)
self.assertTrue(
- 'Mail to '
- '* '
+ 'Mail to '
in output.data)
self.assertTrue(
' '
@@ -82,17 +86,14 @@ class ProgitFlaskPluginstests(tests.Modeltests):
csrf_token = output.data.split(
'name="csrf_token" type="hidden" value="')[1].split('">')[0]
- data = {
- 'mail_to': 'foo@bar',
- }
+ data = {}
output = self.app.post('/test/settings/Mail', data=data)
self.assertEqual(output.status_code, 200)
self.assertTrue('test project #1
' in output.data)
self.assertTrue('Mail ' in output.data)
self.assertTrue(
- 'Mail to '
- '* '
+ 'Mail to '
in output.data)
self.assertTrue(
' '
@@ -113,15 +114,34 @@ class ProgitFlaskPluginstests(tests.Modeltests):
self.assertTrue(
'Hook inactived ' in output.data)
self.assertTrue(
- 'Mail to '
- '* '
+ 'Mail to '
in output.data)
self.assertTrue(
' '
in output.data)
- data['csrf_token'] = csrf_token
- data['active'] = 'y'
+ # Missing the required mail_to
+ data = {'csrf_token': csrf_token, 'active': 'y'}
+
+ output = self.app.post('/test/settings/Mail', data=data)
+ self.assertTrue('test project #1
' in output.data)
+ self.assertTrue('Mail ' in output.data)
+ self.assertFalse(
+ 'Hook activated ' in output.data)
+ self.assertTrue(
+ ' '
+ '\nThis field is required. '
+ in output.data)
+ self.assertTrue(
+ ' ' in output.data)
+
+ # Activate hook
+ data = {
+ 'csrf_token': csrf_token,
+ 'active': 'y',
+ 'mail_to': 'foo@bar'
+ }
output = self.app.post('/test/settings/Mail', data=data)
self.assertTrue('test project #1
' in output.data)
@@ -129,13 +149,26 @@ class ProgitFlaskPluginstests(tests.Modeltests):
self.assertTrue(
'Hook activated ' in output.data)
self.assertTrue(
- 'Mail to '
- '* '
+ 'Mail to '
in output.data)
self.assertTrue(
' ' in output.data)
+ # De-Activate hook
+ data = {'csrf_token': csrf_token}
+ output = self.app.post('/test/settings/Mail', data=data)
+ self.assertTrue('test project #1
' in output.data)
+ self.assertTrue('Mail ' in output.data)
+ self.assertTrue(
+ 'Hook inactived ' in output.data)
+ self.assertTrue(
+ 'Mail to '
+ in output.data)
+ self.assertTrue(
+ ' ' in output.data)
+
if __name__ == '__main__':
SUITE = unittest.TestLoader().loadTestsFromTestCase(ProgitFlaskPluginstests)