diff --git a/src/budy/models/account.py b/src/budy/models/account.py index 74329ea3..5bd8ce8a 100644 --- a/src/budy/models/account.py +++ b/src/budy/models/account.py @@ -50,6 +50,13 @@ class BudyAccount(appier_extras.admin.Account): name = appier.field() + @classmethod + def validate(cls): + return super(BudyAccount, cls).validate() + [ + appier.not_null("name"), + appier.not_empty("name") + ] + def post_create(self): appier_extras.admin.Account.post_create(self) self.ensure_bag_s() diff --git a/src/budy/test/account.py b/src/budy/test/account.py index f4502c5b..ca312f8e 100644 --- a/src/budy/test/account.py +++ b/src/budy/test/account.py @@ -55,6 +55,7 @@ def tearDown(self): def test_basic(self): account = budy.BudyAccount.new( + name = "name", username = "username", email = "email@email.com", password = "password", @@ -64,9 +65,30 @@ def test_basic(self): account.save() self.assertEqual(account.username, "username") - self.assertNotEqual(account.get_bag(), None) + self.assertEqual(account.get_bag().__class__, budy.Bag) + self.assertEqual(account.get_bag().total, 0.0) account.reload() self.assertEqual(account.username, "username") - self.assertNotEqual(account.get_bag(), None) + self.assertEqual(account.get_bag().__class__, budy.Bag) + self.assertEqual(account.get_bag().total, 0.0) + + account = budy.BudyAccount.new( + username = "username", + email = "email@email.com", + password = "password", + password_confirm = "password", + form = False + ) + self.assertRaises(appier.ValidationError, account.save) + + account = budy.BudyAccount.new( + name = "name", + username = "username", + email = "email@email.com", + password = "password", + password_confirm = "password_error", + form = False + ) + self.assertRaises(appier.ValidationError, account.save)