33
33
from ubuntuone_installer.gui.qt.ui import setup_account_ui
36
class FakeValidationDict(object):
37
"""A Fake dictionary to replace validation_functions on Setup Account."""
40
for i in xrange(len(self)):
41
# set all the instance variables
42
setattr(FakeValidationDict, 'valid%s' % i, False)
43
setattr(self, 'validate_%s' % i, self.wrapper(i))
45
def __getitem__(self, i):
46
"""Get the proper function depending on the index received."""
47
return getattr(self, 'validate_%s' % i)
49
def __getslice__(self, i, j):
50
"""Check that the class length is not exceded and return the funcs."""
51
j = j if j <= len(self) else len(self)
52
return [self[q] for q in xrange(j)]
55
"""Return the number of functions in this class."""
59
"""Change the state of the attributes based on the index."""
60
def inner(*args, **kwargs):
61
"""Replace the value of the attributes depending on the index."""
62
for j in xrange(i + 1):
63
setattr(FakeValidationDict, 'valid%s' % j, True)
67
36
class SetupAccountTestCase(BaseTestCase):
68
37
"""Test the SetupAccountPage code."""
122
90
unicode(self.ui.ui.password_assistance.text()),
125
def test_focus_changed_1(self):
126
"""Check functions execution when focus_changed() is executed."""
127
self.patch(self.ui, 'validation_functions', FakeValidationDict())
128
self.ui.validate_data_on_focus_changed(1)
129
self.assertTrue(getattr(FakeValidationDict, "valid0"))
130
self.assertFalse(getattr(FakeValidationDict, "valid1"))
131
self.assertFalse(getattr(FakeValidationDict, "valid2"))
132
self.assertFalse(getattr(FakeValidationDict, "valid3"))
134
def test_focus_changed_2(self):
135
"""Check functions execution when focus_changed() is executed."""
136
self.patch(self.ui, 'validation_functions', FakeValidationDict())
137
self.ui.validate_data_on_focus_changed(2)
138
self.assertTrue(getattr(FakeValidationDict, "valid0"))
139
self.assertTrue(getattr(FakeValidationDict, "valid1"))
140
self.assertFalse(getattr(FakeValidationDict, "valid2"))
141
self.assertFalse(getattr(FakeValidationDict, "valid3"))
143
def test_focus_changed_3(self):
144
"""Check functions execution when focus_changed() is executed."""
145
self.patch(self.ui, 'validation_functions', FakeValidationDict())
146
self.ui.validate_data_on_focus_changed(3)
147
self.assertTrue(getattr(FakeValidationDict, "valid0"))
148
self.assertTrue(getattr(FakeValidationDict, "valid1"))
149
self.assertTrue(getattr(FakeValidationDict, "valid2"))
150
self.assertFalse(getattr(FakeValidationDict, "valid3"))
152
def test_focus_changed_4(self):
153
"""Check functions execution when focus_changed() is executed."""
154
self.patch(self.ui, 'validation_functions', FakeValidationDict())
155
self.ui.validate_data_on_focus_changed(4)
156
self.assertTrue(getattr(FakeValidationDict, "valid0"))
157
self.assertTrue(getattr(FakeValidationDict, "valid1"))
158
self.assertTrue(getattr(FakeValidationDict, "valid2"))
159
self.assertTrue(getattr(FakeValidationDict, "valid3"))
93
def test_password_focus_gain(self):
94
"""Check functions execution when focus_changed() is executed."""
96
self.addCleanup(self.ui.hide)
97
self.ui.ui.password_assistance.setVisible(False)
98
self.assertFalse(self.ui.ui.password_assistance.isVisible())
99
self.patch(self.ui, 'name_assistance', self._set_called)
100
self.ui.focus_changed(None, self.ui.ui.password_edit)
101
self.assertTrue(self.ui.ui.password_assistance.isVisible())
103
def test_name_focus_lost(self):
104
"""Check functions execution when focus_changed() is executed."""
105
self.patch(self.ui, 'name_assistance', self._set_called)
106
self.ui.focus_changed(self.ui.ui.name_edit, None)
107
self.assertTrue(self._called)
109
def test_email_focus_lost(self):
110
"""Check functions execution when focus_changed() is executed."""
111
self.patch(self.ui, 'email_assistance', self._set_called)
112
self.ui.focus_changed(self.ui.ui.email_edit, None)
113
self.assertTrue(self._called)
115
def test_confirm_email_focus_lost(self):
116
"""Check functions execution when focus_changed() is executed."""
117
self.patch(self.ui, 'confirm_email_assistance', self._set_called)
118
self.ui.focus_changed(self.ui.ui.confirm_email_edit, None)
119
self.assertTrue(self._called)
121
def test_confirm_password_focus_lost(self):
122
"""Check functions execution when focus_changed() is executed."""
123
self.patch(common, 'password_check_match', self._set_called)
124
self.ui.focus_changed(self.ui.ui.confirm_password_edit, None)
125
self.assertTrue(self._called)
162
128
class SetupAccountFakeWizardTestCase(BaseTestCase):