import pytest


@pytest.fixture
def msg_correct() -> str:
    """
    Полностью корректное сообщение
    """
    return "Корректное сообщение с ❤️ и ключевым словом thewoooooorld, и здесь хватает длины" * 3


@pytest.fixture
def msg_too_short() -> str:
    """
    Сообщение, в котором хватает сердечек
    и есть ключевые слова, но длина меньше заданной
    """
    return "Сообщение с сердечками ❤️ ❤️ и ключевым словом thewoooooorld но не хватает длины"


@pytest.fixture
def msg_no_keywords() -> str:
    """
    Сообщение с правильной длиной, сердечками,
    но нет ключевых слов
    """
    return "Сообщение с правильной длиной, с сердечками ❤️ но без указанных ключевых слов" * 3


@pytest.fixture
def msg_no_hearts() -> str:
    """
    "Сообщение с правильной длиной,
    с указанными ключевыми словами,
    но нет сердечек вообще
    """
    return "Сообщение с правильной длиной, с указанными ключевыми словами thewoooooorld, но вообще без сердечек" * 3


@pytest.fixture
def msg_hearts_not_enough() -> str:
    """
    Сообщение с правильной длиной,
    с указанными ключевыми словами,
    но число сердечек меньше указанного
    """
    return (
            "Сообщение с правильной длиной, с указанными ключевыми словами thewoooooorld, но число сердечек меньше "
            "указанного" * 3 +
            "❤️"
    )


@pytest.fixture
def msg_incorrect() -> str:
    """
    Полностью некорректное сообщение
    """
    return "некорректно :c"
