Updated to 0.2.1
This commit is contained in:
20
tests/conftest.py
Normal file
20
tests/conftest.py
Normal file
@@ -0,0 +1,20 @@
|
||||
from pathlib import Path
|
||||
|
||||
import pytest
|
||||
|
||||
from libbot.i18n import BotLocale
|
||||
|
||||
|
||||
@pytest.fixture()
|
||||
def location_config() -> Path:
|
||||
return Path("tests/config.json")
|
||||
|
||||
|
||||
@pytest.fixture()
|
||||
def location_locale() -> Path:
|
||||
return Path("tests/data/locale/")
|
||||
|
||||
|
||||
@pytest.fixture()
|
||||
def bot_locale(location_locale: Path) -> BotLocale:
|
||||
return BotLocale(locales_root=location_locale)
|
@@ -5,8 +5,6 @@ import pytest
|
||||
|
||||
from libbot.i18n import BotLocale
|
||||
|
||||
bot_locale = BotLocale(Path("tests/data/locale"))
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"key, args, locale, expected",
|
||||
@@ -20,7 +18,11 @@ bot_locale = BotLocale(Path("tests/data/locale"))
|
||||
],
|
||||
)
|
||||
def test_bot_locale_get(
|
||||
key: str, args: List[str], locale: Union[str, None], expected: Any
|
||||
key: str,
|
||||
args: List[str],
|
||||
locale: Union[str, None],
|
||||
expected: Any,
|
||||
bot_locale: BotLocale,
|
||||
):
|
||||
assert (
|
||||
bot_locale._(key, *args, locale=locale)
|
||||
@@ -37,7 +39,9 @@ def test_bot_locale_get(
|
||||
("nested", ["callbacks", "default"], ["sure", "авжеж"]),
|
||||
],
|
||||
)
|
||||
def test_i18n_in_all_locales(key: str, args: List[str], expected: Any):
|
||||
def test_i18n_in_all_locales(
|
||||
key: str, args: List[str], expected: Any, bot_locale: BotLocale
|
||||
):
|
||||
assert (bot_locale.in_all_locales(key, *args)) == expected
|
||||
|
||||
|
||||
@@ -49,5 +53,7 @@ def test_i18n_in_all_locales(key: str, args: List[str], expected: Any):
|
||||
("nested", ["callbacks", "default"], {"en": "sure", "uk": "авжеж"}),
|
||||
],
|
||||
)
|
||||
def test_i18n_in_every_locale(key: str, args: List[str], expected: Any):
|
||||
def test_i18n_in_every_locale(
|
||||
key: str, args: List[str], expected: Any, bot_locale: BotLocale
|
||||
):
|
||||
assert (bot_locale.in_every_locale(key, *args)) == expected
|
||||
|
@@ -14,11 +14,8 @@ from libbot import config_get, config_set
|
||||
(["bot_token", "bot"], "sample_token"),
|
||||
],
|
||||
)
|
||||
async def test_config_get_valid(args: List[str], expected: str):
|
||||
assert (
|
||||
await config_get(args[0], *args[1:], config_file=Path("tests/config.json"))
|
||||
== expected
|
||||
)
|
||||
async def test_config_get_valid(args: List[str], expected: str, location_config: Path):
|
||||
assert await config_get(args[0], *args[1:], config_file=location_config) == expected
|
||||
|
||||
|
||||
@pytest.mark.asyncio
|
||||
@@ -28,10 +25,12 @@ async def test_config_get_valid(args: List[str], expected: str):
|
||||
(["bot_stonks", "bot"], pytest.raises(KeyError)),
|
||||
],
|
||||
)
|
||||
async def test_config_get_invalid(args: List[str], expected: Any):
|
||||
async def test_config_get_invalid(
|
||||
args: List[str], expected: Any, location_config: Path
|
||||
):
|
||||
with expected:
|
||||
assert (
|
||||
await config_get(args[0], *args[1:], config_file=Path("tests/config.json"))
|
||||
await config_get(args[0], *args[1:], config_file=location_config)
|
||||
== expected
|
||||
)
|
||||
|
||||
@@ -44,6 +43,6 @@ async def test_config_get_invalid(args: List[str], expected: Any):
|
||||
("bot_token", ["bot"], "sample_token"),
|
||||
],
|
||||
)
|
||||
async def test_config_set(key: str, path: List[str], value: Any):
|
||||
await config_set(key, value, *path, config_file=Path("tests/config.json"))
|
||||
assert await config_get(key, *path, config_file=Path("tests/config.json")) == value
|
||||
async def test_config_set(key: str, path: List[str], value: Any, location_config: Path):
|
||||
await config_set(key, value, *path, config_file=location_config)
|
||||
assert await config_get(key, *path, config_file=location_config) == value
|
||||
|
@@ -13,11 +13,8 @@ from libbot import sync
|
||||
(["bot_token", "bot"], "sample_token"),
|
||||
],
|
||||
)
|
||||
def test_config_get_valid(args: List[str], expected: str):
|
||||
assert (
|
||||
sync.config_get(args[0], *args[1:], config_file=Path("tests/config.json"))
|
||||
== expected
|
||||
)
|
||||
def test_config_get_valid(args: List[str], expected: str, location_config: Path):
|
||||
assert sync.config_get(args[0], *args[1:], config_file=location_config) == expected
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
@@ -26,11 +23,10 @@ def test_config_get_valid(args: List[str], expected: str):
|
||||
(["bot_stonks", "bot"], pytest.raises(KeyError)),
|
||||
],
|
||||
)
|
||||
def test_config_get_invalid(args: List[str], expected: Any):
|
||||
def test_config_get_invalid(args: List[str], expected: Any, location_config: Path):
|
||||
with expected:
|
||||
assert (
|
||||
sync.config_get(args[0], *args[1:], config_file=Path("tests/config.json"))
|
||||
== expected
|
||||
sync.config_get(args[0], *args[1:], config_file=location_config) == expected
|
||||
)
|
||||
|
||||
|
||||
@@ -41,6 +37,6 @@ def test_config_get_invalid(args: List[str], expected: Any):
|
||||
("bot_token", ["bot"], "sample_token"),
|
||||
],
|
||||
)
|
||||
def test_config_set(key: str, path: List[str], value: Any):
|
||||
sync.config_set(key, value, *path, config_file=Path("tests/config.json"))
|
||||
assert sync.config_get(key, *path, config_file=Path("tests/config.json")) == value
|
||||
def test_config_set(key: str, path: List[str], value: Any, location_config: Path):
|
||||
sync.config_set(key, value, *path, config_file=location_config)
|
||||
assert sync.config_get(key, *path, config_file=location_config) == value
|
||||
|
@@ -19,12 +19,16 @@ from libbot import i18n
|
||||
],
|
||||
)
|
||||
async def test_i18n_get(
|
||||
key: str, args: List[str], locale: Union[str, None], expected: Any
|
||||
key: str,
|
||||
args: List[str],
|
||||
locale: Union[str, None],
|
||||
expected: Any,
|
||||
location_locale: Path,
|
||||
):
|
||||
assert (
|
||||
await i18n._(key, *args, locale=locale, locales_root=Path("tests/data/locale"))
|
||||
await i18n._(key, *args, locale=locale, locales_root=location_locale)
|
||||
if locale is not None
|
||||
else await i18n._(key, *args, locales_root=Path("tests/data/locale"))
|
||||
else await i18n._(key, *args, locales_root=location_locale)
|
||||
) == expected
|
||||
|
||||
|
||||
@@ -37,9 +41,11 @@ async def test_i18n_get(
|
||||
("nested", ["callbacks", "default"], ["sure", "авжеж"]),
|
||||
],
|
||||
)
|
||||
async def test_i18n_in_all_locales(key: str, args: List[str], expected: Any):
|
||||
async def test_i18n_in_all_locales(
|
||||
key: str, args: List[str], expected: Any, location_locale: Path
|
||||
):
|
||||
assert (
|
||||
await i18n.in_all_locales(key, *args, locales_root=Path("tests/data/locale"))
|
||||
await i18n.in_all_locales(key, *args, locales_root=location_locale)
|
||||
) == expected
|
||||
|
||||
|
||||
@@ -52,7 +58,9 @@ async def test_i18n_in_all_locales(key: str, args: List[str], expected: Any):
|
||||
("nested", ["callbacks", "default"], {"en": "sure", "uk": "авжеж"}),
|
||||
],
|
||||
)
|
||||
async def test_i18n_in_every_locale(key: str, args: List[str], expected: Any):
|
||||
async def test_i18n_in_every_locale(
|
||||
key: str, args: List[str], expected: Any, location_locale: Path
|
||||
):
|
||||
assert (
|
||||
await i18n.in_every_locale(key, *args, locales_root=Path("tests/data/locale"))
|
||||
await i18n.in_every_locale(key, *args, locales_root=location_locale)
|
||||
) == expected
|
||||
|
@@ -17,11 +17,17 @@ from libbot.i18n import sync
|
||||
("nested", ["callbacks", "default"], "uk", "авжеж"),
|
||||
],
|
||||
)
|
||||
def test_i18n_get(key: str, args: List[str], locale: Union[str, None], expected: Any):
|
||||
def test_i18n_get(
|
||||
key: str,
|
||||
args: List[str],
|
||||
locale: Union[str, None],
|
||||
expected: Any,
|
||||
location_locale: Path,
|
||||
):
|
||||
assert (
|
||||
sync._(key, *args, locale=locale, locales_root=Path("tests/data/locale"))
|
||||
sync._(key, *args, locale=locale, locales_root=location_locale)
|
||||
if locale is not None
|
||||
else sync._(key, *args, locales_root=Path("tests/data/locale"))
|
||||
else sync._(key, *args, locales_root=location_locale)
|
||||
) == expected
|
||||
|
||||
|
||||
@@ -33,10 +39,10 @@ def test_i18n_get(key: str, args: List[str], locale: Union[str, None], expected:
|
||||
("nested", ["callbacks", "default"], ["sure", "авжеж"]),
|
||||
],
|
||||
)
|
||||
def test_i18n_in_all_locales(key: str, args: List[str], expected: Any):
|
||||
assert (
|
||||
sync.in_all_locales(key, *args, locales_root=Path("tests/data/locale"))
|
||||
) == expected
|
||||
def test_i18n_in_all_locales(
|
||||
key: str, args: List[str], expected: Any, location_locale: Path
|
||||
):
|
||||
assert (sync.in_all_locales(key, *args, locales_root=location_locale)) == expected
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
@@ -47,7 +53,7 @@ def test_i18n_in_all_locales(key: str, args: List[str], expected: Any):
|
||||
("nested", ["callbacks", "default"], {"en": "sure", "uk": "авжеж"}),
|
||||
],
|
||||
)
|
||||
def test_i18n_in_every_locale(key: str, args: List[str], expected: Any):
|
||||
assert (
|
||||
sync.in_every_locale(key, *args, locales_root=Path("tests/data/locale"))
|
||||
) == expected
|
||||
def test_i18n_in_every_locale(
|
||||
key: str, args: List[str], expected: Any, location_locale: Path
|
||||
):
|
||||
assert (sync.in_every_locale(key, *args, locales_root=location_locale)) == expected
|
||||
|
Reference in New Issue
Block a user