Какие аспекты функции мне нужно проверить? - PullRequest
0 голосов
/ 04 января 2019

У меня есть следующая функция build_settings_message, и я немного запутался, как мне написать для нее модульный тест. Какие аспекты мне нужно проверить?

def build_settings_message(team_id):
    team = SlackTeam.objects.find_by_id(team_id)
    domain = Site.objects.get_current().domain

    attachments = [
        _build_manage_admins(),
        _build_checks_available(team, domain)
    ]

    return {
        'text': "Here is my settings page",
        'attachments': attachments
    }


def _build_manage_admins():
    return {
        "fallback": "Manage admins",
        "color": "#85cdff",
        "callback_id": "admins_controls",
        "title": "Admins",
        "footer": "Users that could remove and edit any checks ",
        "actions": [
            {
                "name": "manage",
                "text": ":key: Manage Admins",
                "type": "button",
                "value": "manage"
            }
        ]
    }


def _build_checks_available(team, domain):
    return {
        "title": "Items available",
        "footer": ("You have got *{} of {}* items for "
                   "check *available*.").format(
                       team.checks_used, team.checks_available),
        "actions": [
            {
                "text": "Open Dashboard",
                "type": "button",
                "url": 'https://' + domain + reverse('dashboard')
            }
        ]
    }

1 Ответ

0 голосов
/ 04 января 2019

Вам нужно макетировать SlackTeam и Site и возвращать некоторые поддельные, но реально выглядящие значения для team и domain, а затем убедиться, что значение, возвращаемое build_settings_message, является правильно (на основе team и domain).

Обязательно проверьте крайние случаи, такие как отсутствие команды, дубликат домена и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...