mirror of
https://github.com/imarkoff/Marble-shell-theme.git
synced 2025-11-30 09:23:24 -08:00
Cover GDM module with tests, added FilesLabelerFactory, renamed GdmBuilder
This commit is contained in:
87
tests/utils/global_theme/test_gdm_installer.py
Normal file
87
tests/utils/global_theme/test_gdm_installer.py
Normal file
@@ -0,0 +1,87 @@
|
||||
import os.path
|
||||
from unittest import TestCase
|
||||
from unittest.mock import MagicMock
|
||||
|
||||
from scripts import config
|
||||
from scripts.utils.global_theme.gdm_installer import GDMThemeInstaller
|
||||
|
||||
|
||||
class GDMInstallerTestCase(TestCase):
|
||||
def setUp(self):
|
||||
self.temp_folder = os.path.join(config.temp_tests_folder, "gdm_installer")
|
||||
self.gresource = MagicMock()
|
||||
self.gresource.temp_folder = self.temp_folder
|
||||
|
||||
self.alternatives_updater = MagicMock()
|
||||
|
||||
self.gdm_installer = GDMThemeInstaller(
|
||||
gresource=self.gresource,
|
||||
alternatives_updater=self.alternatives_updater
|
||||
)
|
||||
|
||||
def test_is_installed_return_the_same_value_as_gresource(self):
|
||||
self.gresource.has_trigger.return_value = True
|
||||
|
||||
result = self.gdm_installer.is_installed()
|
||||
|
||||
self.assertTrue(result)
|
||||
self.gresource.has_trigger.assert_called_once()
|
||||
|
||||
def test_compile_does_not_call_label_theme_if_label_is_none(self):
|
||||
theme_prepare = MagicMock()
|
||||
theme_prepare.label = None
|
||||
theme_prepare.label_theme = MagicMock()
|
||||
|
||||
self.gdm_installer.compile(themes=[theme_prepare], hue=0, color="red", sat=None)
|
||||
|
||||
theme_prepare.label_theme.assert_not_called()
|
||||
|
||||
def test_compile_calls_label_theme_if_label_is_set(self):
|
||||
theme_prepare = MagicMock()
|
||||
theme_prepare.label = "dark"
|
||||
theme_prepare.label_theme = MagicMock()
|
||||
|
||||
self.gdm_installer.compile(themes=[theme_prepare], hue=0, color="red", sat=None)
|
||||
|
||||
theme_prepare.label_theme.assert_called_once()
|
||||
|
||||
def test_compile_calls_removes_keywords_and_properties_and_prepends_source_styles(self):
|
||||
theme_prepare = MagicMock()
|
||||
theme_prepare.remove_keywords = MagicMock()
|
||||
theme_prepare.remove_properties = MagicMock()
|
||||
theme_prepare.prepend_source_styles = MagicMock()
|
||||
|
||||
self.gdm_installer.compile(themes=[theme_prepare], hue=0, color="red", sat=None)
|
||||
|
||||
theme_prepare.remove_keywords.assert_called_once()
|
||||
theme_prepare.remove_properties.assert_called_once()
|
||||
theme_prepare.prepend_source_styles.assert_called_once()
|
||||
|
||||
def test_compile_installs_themes_with_correct_parameters(self):
|
||||
theme_prepare = MagicMock()
|
||||
theme_prepare.install = MagicMock()
|
||||
themes = [theme_prepare]
|
||||
hue = 0
|
||||
color = "red"
|
||||
sat = None
|
||||
|
||||
self.gdm_installer.compile(themes, hue, color, sat)
|
||||
|
||||
theme_prepare.install.assert_called_once()
|
||||
theme_prepare.install.assert_called_with(hue, color, sat, destination=self.temp_folder)
|
||||
|
||||
def test_compile_calls_gresource_compile(self):
|
||||
self.gdm_installer.compile([], 0, "red", None)
|
||||
|
||||
self.gresource.compile.assert_called_once()
|
||||
|
||||
def test_backup_calls_gresource_backup(self):
|
||||
self.gdm_installer.backup()
|
||||
|
||||
self.gresource.backup.assert_called_once()
|
||||
|
||||
def test_install_calls_gresource_move_and_alternatives_updater_install_and_set(self):
|
||||
self.gdm_installer.install()
|
||||
|
||||
self.gresource.move.assert_called_once()
|
||||
self.alternatives_updater.install_and_set.assert_called_once()
|
||||
Reference in New Issue
Block a user