refactoring main GUI application to
[wifi-assistant] / package / test / unit / gui / test_ApplicationSettingsDialog.py
1 import unittest
2 from unit.pie import *
3
4 from wifi_assistant.gui.application_settings_dialog import ApplicationSettingsDialog 
5
6 class ApplicationSettingsDialogTest(unittest.TestCase):
7     
8     def setUp(self):
9         self.parent_window = None
10         self.save_callback = Mock()
11         
12         #given(self.save_callback).save().willReturn(None)
13         self.save_callback.replay()
14  
15         self.testee = ApplicationSettingsDialog(self.parent_window, self.save_callback.save)
16         
17
18     def test_cancelButtonDoesntCallSaveCallback(self):
19         self._makeRunDialogReturn(ApplicationSettingsDialog.CANCEL_BUTTON)
20         self.testee.show(False, '')
21         verify(self.save_callback, never()).save()
22
23
24     def test_saveButtonCallsSaveCallback(self):
25         self._makeRunDialogReturn(ApplicationSettingsDialog.SAVE_BUTTON)
26         self.testee.show(True, 'http://url')
27         verify(self.save_callback).save(True, 'http://url')
28
29
30     def _makeRunDialogReturn(self, value):
31         class method():
32             def __init__(self, value_to_return):
33                 self._value_to_return = value_to_return
34             def __call__(self, x):
35                 return self._value_to_return
36         self.testee._runDialog = method(value)
37     
38 if __name__ == '__main__':
39     unittest.main()
40