summaryrefslogtreecommitdiff
path: root/tests/test_steam_service.py
blob: dd78f1025454bebf6f2de49f6db726dfe2059cbb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
import sys
import types
import unittest
from pathlib import Path
from unittest.mock import Mock


sys.modules.setdefault(
    "decky",
    types.SimpleNamespace(DECKY_USER_HOME="/home/deck", logger=Mock()),
)
sys.path.insert(0, str(Path(__file__).resolve().parents[1] / "py_modules"))

from lsfg_vk.steam_service import SteamService


class SteamServiceTests(unittest.TestCase):
    def test_shortcut_data_is_host_only_and_preserves_launch_fields(self):
        game = SteamService._shortcut_game(
            {
                "appid": 123456,
                "AppName": "Native shortcut",
                "Exe": "/usr/bin/game",
                "LaunchOptions": "--fullscreen",
                "StartDir": "/home/deck/Games",
            }
        )

        self.assertEqual(game, {
            "appid": "123456",
            "name": "Native shortcut",
            "nonSteam": True,
            "executable": "/usr/bin/game",
            "arguments": "--fullscreen",
            "startDir": "/home/deck/Games",
        })

    def test_shortcut_data_accepts_missing_optional_launch_fields(self):
        game = SteamService._shortcut_game(
            {
                "appid": 987654,
                "AppName": "Game shortcut",
            }
        )

        self.assertEqual(game, {
            "appid": "987654",
            "name": "Game shortcut",
            "nonSteam": True,
        })


if __name__ == "__main__":
    unittest.main()