class UserTest(TestCase): def setUp(self): self.user1 = User() self.user1.first_name = 'Max' self.user1.last_name = 'Mustermann' self.user1.username = gen_username( self.user1.first_name, self.user1.last_name) self.user1.default_password = gen_password() self.user1.save() def test_str(self): self.assertEqual(str(self.user1), 'Max Mustermann') def test_name_suffix(self): self.user1.structure_level = 'München' self.user1.save() self.assertEqual(str(self.user1), 'Max Mustermann (München)') def test_reset_password(self): self.assertIsInstance(self.user1.default_password, str) self.assertEqual(len(self.user1.default_password), 8) self.user1.set_unusable_password() self.assertFalse(self.user1.check_password(self.user1.default_password)) self.user1.reset_password() self.assertTrue(self.user1.check_password(self.user1.default_password)) def test_get_absolute_url(self): urls = (('detail', '/user/2/'), ('update', '/user/2/edit/'), ('delete', '/user/2/del/')) for link, url in urls: self.assertEqual(self.user1.get_absolute_url(link), url)
class UserTest(TestCase): def setUp(self): self.user1 = User() self.user1.first_name = 'Max' self.user1.last_name = 'Mustermann' self.user1.username = gen_username(self.user1.first_name, self.user1.last_name) self.user1.default_password = gen_password() self.user1.save() def test_str(self): self.assertEqual(str(self.user1), 'Max Mustermann') def test_name_suffix(self): self.user1.structure_level = 'München' self.user1.save() self.assertEqual(str(self.user1), 'Max Mustermann (München)') def test_reset_password(self): self.assertIsInstance(self.user1.default_password, str) self.assertEqual(len(self.user1.default_password), 8) self.user1.set_unusable_password() self.assertFalse(self.user1.check_password( self.user1.default_password)) self.user1.reset_password() self.assertTrue(self.user1.check_password(self.user1.default_password)) def test_get_absolute_url(self): urls = (('detail', '/user/2/'), ('update', '/user/2/edit/'), ('delete', '/user/2/del/')) for link, url in urls: self.assertEqual(self.user1.get_absolute_url(link), url)
def test_get_absolute_url_delete(self): """ Tests get_absolute_url() with 'delete' as argument """ user = User(pk=5) with patch('openslides.users.models.reverse') as mock_reverse: mock_reverse.return_value = 'test url' url = user.get_absolute_url('delete') self.assertEqual( url, 'test url', "User.get_absolute_url('delete') does not return the result of reverse" ) mock_reverse.assert_called_once_with('user_delete', args=['5'])
def test_get_absolute_url_other(self): """ Tests get_absolute_url() with any other argument """ user = User(pk=5) dummy_argument = MagicMock() with patch('builtins.super') as mock_super: mock_super().get_absolute_url.return_value = 'test url' url = user.get_absolute_url(dummy_argument) self.assertEqual( url, 'test url', "User.get_absolute_url(OTHER) does not return the result of reverse" ) mock_super().get_absolute_url.assert_called_once_with(dummy_argument)
def test_get_absolute_url_default(self): """ Tests get_absolute_url() with no argument. It should return the url for the url-pattern of user_detail """ user = User(pk=5) with patch('openslides.users.models.reverse') as mock_reverse: mock_reverse.return_value = 'test url' url = user.get_absolute_url() self.assertEqual( url, 'test url', "User.get_absolute_url() does not return the result of reverse") mock_reverse.assert_called_once_with('user_detail', args=['5'])