Merge lp:~nataliabidart/ubuntuone-windows-installer/setup-button into lp:ubuntuone-windows-installer

Proposed by Natalia Bidart
Status: Merged
Approved by: Natalia Bidart
Approved revision: 67
Merged at revision: 69
Proposed branch: lp:~nataliabidart/ubuntuone-windows-installer/setup-button
Merge into: lp:ubuntuone-windows-installer
Diff against target: 600 lines (+214/-152)
7 files modified
run-tests (+2/-1)
ubuntuone_installer/gui/qt/gui.py (+4/-4)
ubuntuone_installer/gui/qt/setup_account.py (+3/-1)
ubuntuone_installer/gui/qt/tests/__init__.py (+106/-1)
ubuntuone_installer/gui/qt/tests/test_gui.py (+31/-77)
ubuntuone_installer/gui/qt/tests/test_local_folders.py (+1/-0)
ubuntuone_installer/gui/qt/tests/test_setup_account.py (+67/-68)
To merge this branch: bzr merge lp:~nataliabidart/ubuntuone-windows-installer/setup-button
Reviewer Review Type Date Requested Status
Manuel de la Peña (community) Approve
Diego Sarmentero (community) Approve
Review via email: mp+75602@code.launchpad.net

Commit message

- Improved the test suite for set_up_button handling.

To post a comment you must log in.
Revision history for this message
Diego Sarmentero (diegosarmentero) wrote :

+1

review: Approve
66. By Natalia Bidart

Merged trunk in.

67. By Natalia Bidart

All test green.

Revision history for this message
Manuel de la Peña (mandel) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'run-tests'
--- run-tests 2011-08-24 15:24:03 +0000
+++ run-tests 2011-09-16 13:04:24 +0000
@@ -27,7 +27,8 @@
27fi27fi
2828
29style_check() {29style_check() {
30 u1lint --ignore ubuntuone_installer/gui/qt/ui30 ./setup.py clean
31 u1lint
31 if [ -x `which pep8` ]; then32 if [ -x `which pep8` ]; then
32 pep8 --exclude '.svn,CVS,.bzr,.hg,.git,*_ui.py,*_rc.py' --repeat .33 pep8 --exclude '.svn,CVS,.bzr,.hg,.git,*_ui.py,*_rc.py' --repeat .
33 else34 else
3435
=== modified file 'ubuntuone_installer/gui/qt/gui.py'
--- ubuntuone_installer/gui/qt/gui.py 2011-09-15 19:10:23 +0000
+++ ubuntuone_installer/gui/qt/gui.py 2011-09-16 13:04:24 +0000
@@ -305,8 +305,8 @@
305 # Add the pages in the right order305 # Add the pages in the right order
306 # pylint: disable=C0103306 # pylint: disable=C0103
307307
308 self.LICENSE_PAGE = LicensePage()308 self.license_page = LicensePage()
309 self.LICENSE_PAGE_ID = self.addPage(self.LICENSE_PAGE)309 self.LICENSE_PAGE = self.addPage(self.license_page)
310310
311 #SSO Pages311 #SSO Pages
312 title_page = TITLE_STYLE % SIGN_IN312 title_page = TITLE_STYLE % SIGN_IN
@@ -389,7 +389,7 @@
389 self.button(QtGui.QWizard.NextButton).setDefault(True)389 self.button(QtGui.QWizard.NextButton).setDefault(True)
390390
391 if installing:391 if installing:
392 self.setStartId(self.LICENSE_PAGE_ID)392 self.setStartId(self.LICENSE_PAGE)
393 else:393 else:
394 self.setStartId(self.SIGNIN_PAGE)394 self.setStartId(self.SIGNIN_PAGE)
395 self.restart()395 self.restart()
@@ -440,7 +440,7 @@
440 # Finished, not cancelled440 # Finished, not cancelled
441 if result == 1: # Cancelled441 if result == 1: # Cancelled
442 qt.utils.start_control_panel()442 qt.utils.start_control_panel()
443 elif self.currentId() == self.LICENSE_PAGE_ID:443 elif self.currentId() == self.LICENSE_PAGE:
444 if not AreYouSure(self).exec_():444 if not AreYouSure(self).exec_():
445 qt.utils.uninstall_application()445 qt.utils.uninstall_application()
446 else:446 else:
447447
=== modified file 'ubuntuone_installer/gui/qt/setup_account.py'
--- ubuntuone_installer/gui/qt/setup_account.py 2011-09-15 18:00:49 +0000
+++ ubuntuone_installer/gui/qt/setup_account.py 2011-09-16 13:04:24 +0000
@@ -25,6 +25,7 @@
2525
26from ubuntu_sso.qt import common26from ubuntu_sso.qt import common
27from ubuntu_sso.qt import gui as sso_gui27from ubuntu_sso.qt import gui as sso_gui
28from ubuntu_sso.utils.ui import SET_UP_ACCOUNT_BUTTON
2829
29from ubuntuone_installer.gui.qt import enhanced_check_box30from ubuntuone_installer.gui.qt import enhanced_check_box
3031
@@ -98,9 +99,10 @@
98 self.wizard().customButtonClicked.disconnect()99 self.wizard().customButtonClicked.disconnect()
99 except TypeError:100 except TypeError:
100 pass101 pass
101 self.setButtonText(QtGui.QWizard.CustomButton3, _('Set Up Account'))102 self.setButtonText(QtGui.QWizard.CustomButton3, SET_UP_ACCOUNT_BUTTON)
102 self.set_up_button = self.wizard().button(QtGui.QWizard.CustomButton3)103 self.set_up_button = self.wizard().button(QtGui.QWizard.CustomButton3)
103 self.set_up_button.clicked.connect(self.wizard().overlay.show)104 self.set_up_button.clicked.connect(self.wizard().overlay.show)
105 self.set_up_button.clicked.connect(self.controller.set_next_validation)
104 self.set_up_button.setEnabled(False)106 self.set_up_button.setEnabled(False)
105107
106 self.ui.name_label.setText(NAME)108 self.ui.name_label.setText(NAME)
107109
=== modified file 'ubuntuone_installer/gui/qt/tests/__init__.py'
--- ubuntuone_installer/gui/qt/tests/__init__.py 2011-09-01 18:12:12 +0000
+++ ubuntuone_installer/gui/qt/tests/__init__.py 2011-09-16 13:04:24 +0000
@@ -18,8 +18,11 @@
1818
19"""The test suite for the Qt UI of the Ubuntu One Installer."""19"""The test suite for the Qt UI of the Ubuntu One Installer."""
2020
21from PyQt4 import QtGui, QtCore
22from ubuntuone.controlpanel.gui.qt import loadingoverlay
23
24from ubuntuone_installer.gui.tests import FakedObject
21from ubuntuone_installer.tests import TestCase25from ubuntuone_installer.tests import TestCase
22from ubuntuone_installer.gui.tests import FakedObject
2326
24# Attribute 'yyy' defined outside __init__, access to a protected member27# Attribute 'yyy' defined outside __init__, access to a protected member
25# pylint: disable=W0201, W021228# pylint: disable=W0201, W0212
@@ -34,6 +37,106 @@
34 exposed_methods = ['setupUi']37 exposed_methods = ['setupUi']
3538
3639
40class FakeSignal(object):
41
42 """A fake PyQt signal."""
43
44 def __init__(self, *args, **kwargs):
45 """Initialize."""
46 self.target = None
47
48 def connect(self, target):
49 """Fake connect."""
50 self.target = target
51
52 def disconnect(self, *args):
53 """Fake disconnect."""
54 self.target = None
55
56 def emit(self, *args):
57 """Fake emit."""
58 if self.target:
59 self.target(*args)
60
61
62class FakeController(object):
63
64 """A fake controller for the tests."""
65
66 is_fake = True
67 set_next_validation = lambda *a, **kw: None
68
69 def __init__(self, *args, **kwargs):
70 self.args = (args, kwargs)
71
72 # pylint: disable=C0103
73 def setupUi(self, view):
74 """Fake the setup."""
75 # pylint: enable=C0103
76
77
78class FakeOverlay(object):
79
80 """A fake delay overlay."""
81
82 def __init__(self, *args, **kwargs):
83 """Initialize."""
84 self.show_counter = 0
85 self.hide_counter = 0
86 self.args = (args, kwargs)
87
88 def show(self):
89 """Fake show."""
90 self.show_counter += 1
91
92 def hide(self):
93 """Fake hide."""
94 self.hide_counter += 1
95
96 def resize(self, *args):
97 """Fake resize."""
98
99
100class FakeWizard(object):
101 """Replace wizard() function on wizard pages."""
102
103 customButtonClicked = QtCore.QObject()
104
105 def __init__(self):
106 self.overlay = FakeOverlay()
107 self.called = []
108 self.buttons = {}
109
110 # Invalid name "setButtonLayout", "setOption"
111 # pylint: disable=C0103
112
113 def setButtonLayout(self, *args, **kwargs):
114 """Fake the functionality of setButtonLayout on QWizard class."""
115 self.called.append(('setButtonLayout', (args, kwargs)))
116
117 def setOption(self, *args, **kwargs):
118 """Fake the functionality of setOption on QWizard class."""
119 self.called.append(('setOption', (args, kwargs)))
120
121 # pylint: enable=C0103
122
123 def button(self, button_id):
124 """Fake the functionality of button on QWizard class."""
125 return self.buttons.setdefault(button_id, QtGui.QPushButton())
126
127
128class FakeWizardPage(object):
129
130 """A fake wizard page."""
131
132 def __init__(self, *args, **kwargs):
133 self.has_back_button = True
134
135 # pylint: disable=C0103
136 def initializePage(self):
137 """Fake initializePage."""
138
139
37class BaseTestCase(TestCase):140class BaseTestCase(TestCase):
38 """Base Test Case."""141 """Base Test Case."""
39142
@@ -52,3 +155,5 @@
52 if hasattr(self.ui, 'backend'):155 if hasattr(self.ui, 'backend'):
53 # clean backend calls156 # clean backend calls
54 self.ui.backend._called.clear()157 self.ui.backend._called.clear()
158
159 self.patch(loadingoverlay, 'LoadingOverlay', FakeOverlay)
55160
=== modified file 'ubuntuone_installer/gui/qt/tests/test_gui.py'
--- ubuntuone_installer/gui/qt/tests/test_gui.py 2011-09-15 22:02:03 +0000
+++ ubuntuone_installer/gui/qt/tests/test_gui.py 2011-09-16 13:04:24 +0000
@@ -25,21 +25,14 @@
2525
26from ubuntuone_installer.gui import NEXT26from ubuntuone_installer.gui import NEXT
27from ubuntuone_installer.gui.qt import gui, forgotten, utils27from ubuntuone_installer.gui.qt import gui, forgotten, utils
28from ubuntuone_installer.gui.qt.tests import BaseTestCase, NO_OP28from ubuntuone_installer.gui.qt.tests import (
2929 BaseTestCase,
3030 FakeController,
31class FakeController(object):31 FakeOverlay,
3232 FakeSignal,
33 """A fake controller for the tests."""33 FakeWizardPage,
3434 NO_OP,
35 def __init__(self, *args, **kwargs):35)
36 self.args = (args, kwargs)
37
38 # pylint: disable=C0103
39 def setupUi(self, view):
40 """Fake the setup."""
41 # pylint: enable=C0103
42 is_fake = True
4336
4437
45class FakeAreYouSure(object):38class FakeAreYouSure(object):
@@ -58,28 +51,6 @@
58 return self.result # Means reject51 return self.result # Means reject
5952
6053
61class FakeOverlay(object):
62
63 """A fake delay overlay."""
64
65 def __init__(self, *args, **kwargs):
66 """Initialize."""
67 self.show_counter = 0
68 self.hide_counter = 0
69 self.args = (args, kwargs)
70
71 def show(self):
72 """Fake show."""
73 self.show_counter += 1
74
75 def hide(self):
76 """Fake hide."""
77 self.hide_counter += 1
78
79 def resize(self, *args):
80 """Fake resize."""
81
82
83class FakeLocalFoldersPage(QtGui.QWizardPage):54class FakeLocalFoldersPage(QtGui.QWizardPage):
84 """Fake Local Folders Page."""55 """Fake Local Folders Page."""
8556
@@ -195,7 +166,7 @@
195 def test_with_flag(self):166 def test_with_flag(self):
196 """test with flag activated."""167 """test with flag activated."""
197 win = gui.MainWindow(installing=True)168 win = gui.MainWindow(installing=True)
198 self.assertEqual(win.startId(), win.LICENSE_PAGE_ID)169 self.assertEqual(win.startId(), win.LICENSE_PAGE)
199 self.assertEqual(170 self.assertEqual(
200 unicode(self.ui.sign_in_page.ui.message_label.text()),171 unicode(self.ui.sign_in_page.ui.message_label.text()),
201 u"")172 u"")
@@ -244,7 +215,7 @@
244215
245 def test_execute_uninstall_on_licence_cancel(self):216 def test_execute_uninstall_on_licence_cancel(self):
246 """Pressing Disagree button from license page the uninstall is exec."""217 """Pressing Disagree button from license page the uninstall is exec."""
247 self.ui.setStartId(self.ui.LICENSE_PAGE_ID)218 self.ui.setStartId(self.ui.LICENSE_PAGE)
248 self.ui.restart()219 self.ui.restart()
249 self.ui.show()220 self.ui.show()
250 self.addCleanup(self.ui.hide)221 self.addCleanup(self.ui.hide)
@@ -255,7 +226,7 @@
255226
256 def test_execute_uninstall_on_licence_cancel_frozen(self):227 def test_execute_uninstall_on_licence_cancel_frozen(self):
257 """Pressing Disagree button from license page the uninstall is exec."""228 """Pressing Disagree button from license page the uninstall is exec."""
258 self.ui.setStartId(self.ui.LICENSE_PAGE_ID)229 self.ui.setStartId(self.ui.LICENSE_PAGE)
259 self.ui.restart()230 self.ui.restart()
260 self.ui.show()231 self.ui.show()
261 self.addCleanup(self.ui.hide)232 self.addCleanup(self.ui.hide)
@@ -436,7 +407,7 @@
436407
437 def test_next_hides_overlay(self):408 def test_next_hides_overlay(self):
438 """Make sure next() hides the overlay."""409 """Make sure next() hides the overlay."""
439 self.ui.setStartId(self.ui.LICENSE_PAGE_ID)410 self.ui.setStartId(self.ui.LICENSE_PAGE)
440 self.ui.restart()411 self.ui.restart()
441 self.ui.show()412 self.ui.show()
442 self.addCleanup(self.ui.hide)413 self.addCleanup(self.ui.hide)
@@ -447,11 +418,11 @@
447418
448 def test_insert_remove_critical_message(self):419 def test_insert_remove_critical_message(self):
449 """Make sure critical message is added and next() removes it."""420 """Make sure critical message is added and next() removes it."""
450 self.ui.setStartId(self.ui.LICENSE_PAGE_ID)421 self.ui.setStartId(self.ui.LICENSE_PAGE)
451 self.ui.restart()422 self.ui.restart()
452 self.ui.show()423 self.ui.show()
453 self.addCleanup(self.ui.hide)424 self.addCleanup(self.ui.hide)
454 license_page = self.ui.page(self.ui.LICENSE_PAGE_ID)425 license_page = self.ui.page(self.ui.LICENSE_PAGE)
455 self.assertEqual(self.ui.form_errors_label.parentWidget(), None)426 self.assertEqual(self.ui.form_errors_label.parentWidget(), None)
456 self.ui.critical("test critical message")427 self.ui.critical("test critical message")
457 self.assertEqual(self.ui.form_errors_label.parentWidget(),428 self.assertEqual(self.ui.form_errors_label.parentWidget(),
@@ -534,7 +505,7 @@
534505
535 def test_stage_progression_1(self):506 def test_stage_progression_1(self):
536 """Check that each page in the wizard sets the correct stage."""507 """Check that each page in the wizard sets the correct stage."""
537 self.ui.on_currentIdChanged(self.ui.LICENSE_PAGE_ID)508 self.ui.on_currentIdChanged(self.ui.LICENSE_PAGE)
538 self.assertEqual(self.ui.sideWidget().stage, 0)509 self.assertEqual(self.ui.sideWidget().stage, 0)
539510
540 def test_stage_progression_2(self):511 def test_stage_progression_2(self):
@@ -608,39 +579,22 @@
608 # Check if syncdaemon was added to autostart579 # Check if syncdaemon was added to autostart
609 self.assertEqual(self._called, ((), {}))580 self.assertEqual(self._called, ((), {}))
610581
611582 def test_side_widget_state(self):
612class FakeSignal(object):583 """Test if the side widget of the wizard has state frame visible."""
613584 self.ui.show()
614 """A fake PyQt signal."""585 self.addCleanup(self.ui.hide)
615586
616 def __init__(self, *args, **kwargs):587 self.ui.on_currentIdChanged(self.ui.LICENSE_PAGE)
617 """Initialize."""588 self.assertFalse(self.ui.sideWidget().ui.states_frame.isVisible())
618 self.target = None589
619590 self.ui.on_currentIdChanged(self.ui.SIGNIN_PAGE)
620 def connect(self, target):591 self.assertTrue(self.ui.sideWidget().ui.states_frame.isVisible())
621 """Fake connect."""592
622 self.target = target593 self.ui.on_currentIdChanged(self.ui.local_folders_page_id)
623594 self.assertTrue(self.ui.sideWidget().ui.states_frame.isVisible())
624 def disconnect(self, *args):595
625 """Fake disconnect."""596 self.ui.on_currentIdChanged(self.ui.CONGRATULATIONS_PAGE)
626 self.target = None597 self.assertTrue(self.ui.sideWidget().ui.states_frame.isVisible())
627
628 def emit(self, *args):
629 """Fake emit."""
630 if self.target:
631 self.target(*args)
632
633
634class FakeWizardPage(object):
635
636 """A fake wizard page."""
637
638 def __init__(self, *args, **kwargs):
639 self.has_back_button = True
640
641 # pylint: disable=C0103
642 def initializePage(self):
643 """Fake initializePage."""
644598
645599
646class FakeMainWindow(object):600class FakeMainWindow(object):
647601
=== modified file 'ubuntuone_installer/gui/qt/tests/test_local_folders.py'
--- ubuntuone_installer/gui/qt/tests/test_local_folders.py 2011-09-13 02:07:43 +0000
+++ ubuntuone_installer/gui/qt/tests/test_local_folders.py 2011-09-16 13:04:24 +0000
@@ -452,6 +452,7 @@
452 @defer.inlineCallbacks452 @defer.inlineCallbacks
453 def test_add_folder_valid_starts_selected(self):453 def test_add_folder_valid_starts_selected(self):
454 """When adding a valid folder, it starts as selected."""454 """When adding a valid folder, it starts as selected."""
455 self.patch(self.ui, 'update_sizes', lambda: None)
455 self.patch(QtGui, "QFileDialog", FakeFileDialog())456 self.patch(QtGui, "QFileDialog", FakeFileDialog())
456 yield self.ui.on_add_folder_button_clicked()457 yield self.ui.on_add_folder_button_clicked()
457 self.assertEqual(458 self.assertEqual(
458459
=== modified file 'ubuntuone_installer/gui/qt/tests/test_setup_account.py'
--- ubuntuone_installer/gui/qt/tests/test_setup_account.py 2011-09-15 18:00:49 +0000
+++ ubuntuone_installer/gui/qt/tests/test_setup_account.py 2011-09-16 13:04:24 +0000
@@ -24,54 +24,13 @@
2424
25from ubuntu_sso.qt import common25from ubuntu_sso.qt import common
2626
27from ubuntuone_installer.gui.qt import gui, setup_account27from ubuntuone_installer.gui.qt import setup_account as gui
28from ubuntuone_installer.gui.qt.tests import BaseTestCase28from ubuntuone_installer.gui.qt.tests import (
29from ubuntuone_installer.gui.qt.ui import (29 BaseTestCase,
30 setup_account_ui,30 FakeController,
31 FakeWizard,
31)32)
3233from ubuntuone_installer.gui.qt.ui import setup_account_ui
33
34class FakeController(object):
35
36 """A fake controller for the tests."""
37
38 def __init__(self, *args, **kwargs):
39 self.args = (args, kwargs)
40
41 # pylint: disable=C0103
42 def setupUi(self, view):
43 """Fake the setup."""
44 # pylint: enable=C0103
45
46
47class FakeWizard(object):
48 """Replace wizard() function on wizard pages."""
49
50 customButtonClicked = QtCore.QObject()
51 overlay = None
52 params = None
53
54 # Invalid name "setButtonLayout"
55 # pylint: disable=C0103
56
57 def setButtonLayout(self, *args, **kwargs):
58 """Fake the functionality of setButtonLayout on QWizard class."""
59 FakeWizard.params = (args, kwargs)
60
61 # pylint: enable=C0103
62
63 # Invalid name "setOption"
64 # pylint: disable=C0103
65
66 def setOption(self, *args, **kwargs):
67 """Fake the functionality of setOption on QWizard class."""
68 FakeWizard.params = (args, kwargs)
69
70 # pylint: enable=C0103
71
72 def button(self, *args, **kwargs):
73 """Fake the functionality of button on QWizard class."""
74 return QtGui.QPushButton()
7534
7635
77class FakeValidationDict(object):36class FakeValidationDict(object):
@@ -108,7 +67,7 @@
108class SetupAccountTestCase(BaseTestCase):67class SetupAccountTestCase(BaseTestCase):
109 """Test the SetupAccountPage code."""68 """Test the SetupAccountPage code."""
11069
111 class_ui = setup_account.SetupAccountPage70 class_ui = gui.SetupAccountPage
112 kwargs = dict(71 kwargs = dict(
113 ui=setup_account_ui.Ui_SetUpAccountPage(),72 ui=setup_account_ui.Ui_SetUpAccountPage(),
114 controller=FakeController(),73 controller=FakeController(),
@@ -138,7 +97,7 @@
138 self.assertTrue(self.ui.ui.name_assistance.isVisible())97 self.assertTrue(self.ui.ui.name_assistance.isVisible())
139 self.assertEqual(98 self.assertEqual(
140 unicode(self.ui.ui.name_assistance.text()),99 unicode(self.ui.ui.name_assistance.text()),
141 setup_account.ERROR % setup_account.EMPTY_NAME)100 gui.ERROR % gui.EMPTY_NAME)
142 self.ui.hide()101 self.ui.hide()
143102
144 def test_password_default_assistance(self):103 def test_password_default_assistance(self):
@@ -163,19 +122,6 @@
163 unicode(self.ui.ui.password_assistance.text()),122 unicode(self.ui.ui.password_assistance.text()),
164 )123 )
165124
166 def test_side_widget_state(self):
167 """Test if the side widget of the wizard has state frame visible."""
168 if type(self.ui) != gui.MainWindow:
169 return
170 self.ui.on_currentIdChanged(self.ui.LICENSE_PAGE)
171 self.assertTrue(self.ui.sideWidget().ui.states_frame.isVisible())
172 self.ui.on_currentIdChanged(self.ui.SIGNIN_PAGE)
173 self.assertTrue(self.ui.sideWidget().ui.states_frame.isVisible())
174 self.ui.on_currentIdChanged(self.ui.local_folders_page_id)
175 self.assertTrue(self.ui.sideWidget().ui.states_frame.isVisible())
176 self.ui.on_currentIdChanged(self.ui.CONGRATULATIONS_PAGE)
177 self.assertTrue(self.ui.sideWidget().ui.states_frame.isVisible())
178
179 def test_focus_changed_1(self):125 def test_focus_changed_1(self):
180 """Check functions execution when focus_changed() is executed."""126 """Check functions execution when focus_changed() is executed."""
181 self.patch(self.ui, 'validation_functions', FakeValidationDict())127 self.patch(self.ui, 'validation_functions', FakeValidationDict())
@@ -216,7 +162,7 @@
216class SetupAccountFakeWizardTestCase(BaseTestCase):162class SetupAccountFakeWizardTestCase(BaseTestCase):
217 """Test the SetupAccountPage code."""163 """Test the SetupAccountPage code."""
218164
219 class_ui = setup_account.SetupAccountPage165 class_ui = gui.SetupAccountPage
220 kwargs = dict(166 kwargs = dict(
221 ui=setup_account_ui.Ui_SetUpAccountPage(),167 ui=setup_account_ui.Ui_SetUpAccountPage(),
222 controller=FakeController(),168 controller=FakeController(),
@@ -228,7 +174,60 @@
228 # Faking each SSO object instead of doing it lower174 # Faking each SSO object instead of doing it lower
229 # so we don't rely on any SSO behaviour175 # so we don't rely on any SSO behaviour
230 super(SetupAccountFakeWizardTestCase, self).setUp()176 super(SetupAccountFakeWizardTestCase, self).setUp()
231 self.patch(self.ui, 'wizard', FakeWizard)177 self.wizard = FakeWizard()
178 self.patch(self.ui, 'wizard', lambda: self.wizard)
179
180 def test_initialize_page(self):
181 """Widgets are properly initialized."""
182 self.ui.initializePage()
183 self.ui.show()
184 self.addCleanup(self.ui.hide)
185
186 # titles
187 self.assertEqual(self.ui.header.title_label.text(),
188 gui.TITLE_STYLE % gui.TITLE)
189 self.assertEqual(self.ui.header.subtitle_label.text(), gui.SUBTITLE)
190
191 # set up account button
192 expected = [QtGui.QWizard.BackButton, QtGui.QWizard.Stretch,
193 QtGui.QWizard.CustomButton3]
194 self.assertIn(('setButtonLayout', ((expected,), {})),
195 self.ui.wizard().called)
196 self.assertEqual(gui.SET_UP_ACCOUNT_BUTTON,
197 self.ui.buttonText(QtGui.QWizard.CustomButton3))
198 self.assertTrue(self.ui.wizard().button(QtGui.QWizard.CustomButton3) is
199 self.ui.set_up_button)
200 self.assertFalse(self.ui.set_up_button.isEnabled())
201
202 # labels
203 self.assertEqual(self.ui.ui.name_label.text(), gui.NAME)
204 self.assertEqual(self.ui.ui.email_label.text(), gui.EMAIL)
205 self.assertEqual(self.ui.ui.confirm_email_label.text(),
206 gui.RETYPE_EMAIL)
207 self.assertEqual(self.ui.ui.password_label.text(),
208 gui.PASSWORD)
209 self.assertEqual(self.ui.ui.confirm_password_label.text(),
210 gui.RETYPE_PASSWORD)
211 self.assertFalse(self.ui.ui.password_info_label.isVisible())
212
213 # assistants
214 self.assertFalse(self.ui.ui.name_assistance.isVisible())
215 self.assertFalse(self.ui.ui.email_assistance.isVisible())
216 self.assertFalse(self.ui.ui.confirm_email_assistance.isVisible())
217 self.assertFalse(self.ui.ui.password_assistance.isVisible())
218 self.assertTrue(self.ui.ui.refresh_label.isVisible())
219
220 def test_set_up_button_clicked(self):
221 """Validation and overlay is shown when the setupbutton is clicked."""
222 self.patch(self.ui.controller, 'set_next_validation', self._set_called)
223 self.ui.initializePage()
224 self.ui.show()
225 self.addCleanup(self.ui.hide)
226
227 self.ui.set_up_button.clicked.emit(False)
228
229 self.assertEqual(self.ui.wizard().overlay.show_counter, 1)
230 self.assertEqual(self._called, ((False,), {}))
232231
233 def test_set_error_message(self):232 def test_set_error_message(self):
234 """Check the state of the label after calling: set_error_message."""233 """Check the state of the label after calling: set_error_message."""
@@ -239,7 +238,7 @@
239 self.assertTrue(self.ui.ui.email_assistance.isVisible())238 self.assertTrue(self.ui.ui.email_assistance.isVisible())
240 self.assertEqual(239 self.assertEqual(
241 unicode(self.ui.ui.email_assistance.text()),240 unicode(self.ui.ui.email_assistance.text()),
242 setup_account.ERROR % "message")241 gui.ERROR % "message")
243242
244 def test_blank_name(self):243 def test_blank_name(self):
245 """Status when the name field is blank (spaces).244 """Status when the name field is blank (spaces).
@@ -254,7 +253,7 @@
254 self.assertTrue(self.ui.ui.name_assistance.isVisible())253 self.assertTrue(self.ui.ui.name_assistance.isVisible())
255 self.assertEqual(254 self.assertEqual(
256 unicode(self.ui.ui.name_assistance.text()),255 unicode(self.ui.ui.name_assistance.text()),
257 setup_account.ERROR % setup_account.EMPTY_NAME)256 gui.ERROR % gui.EMPTY_NAME)
258 self.ui.hide()257 self.ui.hide()
259258
260 def test_valid_name(self):259 def test_valid_name(self):
@@ -282,7 +281,7 @@
282 self.assertTrue(self.ui.ui.email_assistance.isVisible())281 self.assertTrue(self.ui.ui.email_assistance.isVisible())
283 self.assertEqual(282 self.assertEqual(
284 unicode(self.ui.ui.email_assistance.text()),283 unicode(self.ui.ui.email_assistance.text()),
285 setup_account.ERROR % setup_account.INVALID_EMAIL)284 gui.ERROR % gui.INVALID_EMAIL)
286285
287 def test_valid_email(self):286 def test_valid_email(self):
288 """Status when the email field has a @.287 """Status when the email field has a @.
@@ -323,7 +322,7 @@
323 self.assertTrue(self.ui.ui.confirm_email_assistance.isVisible())322 self.assertTrue(self.ui.ui.confirm_email_assistance.isVisible())
324 self.assertEqual(323 self.assertEqual(
325 unicode(self.ui.ui.confirm_email_assistance.text()),324 unicode(self.ui.ui.confirm_email_assistance.text()),
326 setup_account.ERROR % setup_account.EMAIL_MATCH)325 gui.ERROR % gui.EMAIL_MATCH)
327 self.ui.hide()326 self.ui.hide()
328327
329 def test_focus_changed_password_visibility(self):328 def test_focus_changed_password_visibility(self):

Subscribers

People subscribed via source and target branches