Ejemplo n.º 1
0
    def test_user_replace_avatar(self):
        user_id = 1
        old_avatar_file_id = 1
        new_avatar_file_id = 2

        user = MagicMock(spec=dir(User))
        old_avatar = MagicMock(spec=dir(File))
        expected_avatar = MagicMock(spec=dir(File))

        user.id = user_id
        user.avatar_file_id = old_avatar_file_id
        old_avatar.id = old_avatar_file_id
        expected_avatar.id = new_avatar_file_id

        user_repository_mock.find_by_id.return_value = user
        file_service_mock.add_file.return_value = expected_avatar
        file_service_mock.get_file_by_id.return_value = old_avatar

        user_service.set_avatar(user_id, avatar_file_data)

        self.assertEqual(user.avatar_file_id, new_avatar_file_id)

        file_service_mock.add_file.assert_called_once_with(
            FileCategory.USER_AVATAR,
            avatar_file_data, avatar_file_data.filename)

        file_service_mock.get_file_by_id.assert_called_once_with(
            old_avatar_file_id)
        file_service_mock.delete_file.assert_called_once_with(old_avatar)
        user_repository_mock.save.assert_called_once_with(user)
Ejemplo n.º 2
0
    def test_user_has_no_avatar(self):
        user_id = 1
        avatar_file_id = None

        user = MagicMock(spec=dir(User))

        user.id = user_id
        user.avatar_file_id = avatar_file_id

        user_repository_mock.find_by_id.return_value = user

        has_avatar = user_service.user_has_avatar(user_id)

        self.assertEqual(has_avatar, False)
Ejemplo n.º 3
0
    def test_user_remove_avatar(self):
        user_id = 1
        avatar_file_id = 1

        user = MagicMock(spec=dir(User))
        avatar = MagicMock(spec=dir(File))

        user.id = user_id
        user.avatar_file_id = avatar_file_id
        avatar.id = avatar_file_id

        user_repository_mock.find_by_id.return_value = user
        file_service_mock.get_file_by_id.return_value = avatar

        user_service.remove_avatar(user_id)

        self.assertEqual(user.avatar_file_id, None)

        file_service_mock.get_file_by_id.assert_called_once_with(
            avatar_file_id)
        file_service_mock.delete_file.assert_called_once_with(avatar)
        user_repository_mock.save.assert_called_once_with(user)