Adds UI tests for the invalid cases.
This commit is contained in:
parent
b06073d86d
commit
46347d1bcc
|
@ -4,7 +4,7 @@ from unittest import mock
|
|||
from subiquitycore.testing import view_helpers
|
||||
|
||||
from subiquity.client.controllers.identity import IdentityController
|
||||
from subiquity.common.types import IdentityData
|
||||
from subiquity.common.types import IdentityData, UsernameValidation
|
||||
from subiquity.ui.views.identity import IdentityView
|
||||
|
||||
|
||||
|
@ -16,6 +16,30 @@ valid_data = {
|
|||
'confirm_password': 'password'
|
||||
}
|
||||
|
||||
too_long = {
|
||||
'realname': 'Real Name',
|
||||
'hostname': 'host-name',
|
||||
'username': 'u'*33,
|
||||
'password': 'password',
|
||||
'confirm_password': 'password'
|
||||
}
|
||||
|
||||
already_taken = {
|
||||
'realname': 'Real Name',
|
||||
'hostname': 'host-name',
|
||||
'username': 'root',
|
||||
'password': 'password',
|
||||
'confirm_password': 'password'
|
||||
}
|
||||
|
||||
system_reserved = {
|
||||
'realname': 'Real Name',
|
||||
'hostname': 'host-name',
|
||||
'username': 'plugdev',
|
||||
'password': 'password',
|
||||
'confirm_password': 'password'
|
||||
}
|
||||
|
||||
|
||||
class IdentityViewTests(unittest.TestCase):
|
||||
|
||||
|
@ -41,6 +65,25 @@ class IdentityViewTests(unittest.TestCase):
|
|||
view_helpers.enter_data(view.form, valid_data)
|
||||
self.assertTrue(view.form.done_btn.enabled)
|
||||
|
||||
def test_username_validation_system_reserved(self):
|
||||
view = self.make_view()
|
||||
view.controller.username_validation = \
|
||||
UsernameValidation.SYSTEM_RESERVED
|
||||
view_helpers.enter_data(view.form, system_reserved)
|
||||
self.assertFalse(view.form.done_btn.enabled)
|
||||
|
||||
def test_username_validation_in_use(self):
|
||||
view = self.make_view()
|
||||
view.controller.username_validation = UsernameValidation.ALREADY_IN_USE
|
||||
view_helpers.enter_data(view.form, already_taken)
|
||||
self.assertFalse(view.form.done_btn.enabled)
|
||||
|
||||
def test_username_validation_too_long(self):
|
||||
view = self.make_view()
|
||||
view.controller.username_validation = UsernameValidation.TOO_LONG
|
||||
view_helpers.enter_data(view.form, too_long)
|
||||
self.assertFalse(view.form.done_btn.enabled)
|
||||
|
||||
def test_click_done(self):
|
||||
view = self.make_view()
|
||||
CRYPTED = '<crypted>'
|
||||
|
|
Loading…
Reference in New Issue