Files
Marble-shell-theme/tests/utils/global_theme/test_gdm_remover.py

44 lines
1.4 KiB
Python

from unittest import TestCase
from unittest.mock import MagicMock
from scripts.utils.global_theme.gdm_remover import GDMThemeRemover
from scripts.utils.gresource import GresourceBackupNotFoundError
class GDMRemoverTestCase(TestCase):
def setUp(self):
self.gresource = MagicMock()
self.alternatives_updater = MagicMock()
self.logger = MagicMock()
self.logger_factory = MagicMock(return_value=self.logger)
self.remover = GDMThemeRemover(
gresource=self.gresource,
alternatives_updater=self.alternatives_updater,
logger_factory=self.logger_factory
)
self.remover.remover_logger = MagicMock()
def test_remove_logs_start_message(self):
self.remover.remove()
self.remover.remover_logger.start_removing.assert_called_once()
def test_remove_calls_gresource_restore_and_alternatives_remove(self):
self.remover.remove()
self.gresource.restore.assert_called_once()
self.alternatives_updater.remove.assert_called_once()
def test_remove_logs_success_message(self):
self.remover.remove()
self.remover.remover_logger.success_removing.assert_called_once()
def test_remove_logs_error_message_when_backup_not_found(self):
self.gresource.restore.side_effect = GresourceBackupNotFoundError()
self.remover.remove()
self.remover.remover_logger.error_removing.assert_called_once()