fix: tests and linters
Panel / Lint, typy i build (pull_request) Successful in 25s
Backend / Testy i kontrakt API (pull_request) Successful in 31s
Backend / Lint i formatowanie (pull_request) Failing after 32s
Backend / Testowy build obrazu (pull_request) Skipped

This commit is contained in:
mmacierzanka committed 2026-10-01 13:59:19 +02:00
1 parent 0b1b448766
commit 56e3ddba8a
7 files changed
+122 -131

No files matched your search

+23 -22
View File
@@ -1,32 +1,33 @@
import json
import tempfile
import unittest
from pathlib import Path
from __future__ import annotations
from zyrarbot.storage.guild_config_repository import GuildConfigRepository
from zyrarbot.storage.json_file_store import JsonFileStore
import unittest
from unittest.mock import MagicMock
from zyrarbot.storage.adapters.postgres.guild_config import PostgresGuildConfig
class GuildConfigRepositoryTest(unittest.TestCase):
def test_settings_are_isolated_and_legacy_default_moves_to_first_guild(self):
with tempfile.TemporaryDirectory() as directory:
path = Path(directory) / "config.json"
path.write_text(json.dumps({"default_plays": 7, "10": 123}), encoding="utf-8")
repository = GuildConfigRepository(JsonFileStore(str(path)), fallback_plays=5)
def setUp(self):
self.database = MagicMock()
self.connection = self.database.connect.return_value.__enter__.return_value
self.repository = PostgresGuildConfig(self.database, fallback_plays=5)
repository.migrate_legacy(10)
self.assertEqual(repository.get_default_plays(10), 7)
self.assertEqual(repository.get_notification_channel_id(10), 123)
self.assertEqual(repository.get_default_plays(20), 5)
def test_default_plays_uses_fallback_when_guild_has_no_override(self):
self.connection.execute.return_value.fetchone.return_value = (None,)
repository.set_default_plays(20, 9)
self.assertEqual(repository.get_default_plays(10), 7)
self.assertEqual(repository.get_default_plays(20), 9)
self.assertEqual(self.repository.get_default_plays(10), 5)
saved = json.loads(path.read_text(encoding="utf-8"))
self.assertNotIn("default_plays", saved)
self.assertEqual(saved["10"]["default_plays"], 7)
self.assertEqual(saved["20"]["default_plays"], 9)
def test_default_plays_returns_guild_override(self):
self.connection.execute.return_value.fetchone.return_value = (7,)
self.assertEqual(self.repository.get_default_plays(10), 7)
def test_set_default_plays_creates_guild_then_updates_setting(self):
self.repository.set_default_plays(10, 9)
statements = [call.args[0] for call in self.connection.execute.call_args_list]
self.assertIn("INSERT INTO guilds", statements[0])
self.assertIn("UPDATE guilds SET default_plays", statements[1])
if __name__ == "__main__":