Тестирование вашего сайта Wagtail
Wagtail поставляется с некоторыми утилитами, которые упрощают написание тестов для вашего сайта.
WagtailPageTests
Вспомогательные функции для данных форм
Метод assertCanCreate требует, чтобы данные страницы передавались в том же формате, что и данные, отправляемые формой редактирования страницы. Для сложных типов страниц построение этой структуры данных вручную может быть сложно; модуль wagtail.tests.utils.form_data предоставляет набор вспомогательных функций для помощи в этом.
Фикстуры
Использование dumpdata
Создание фикстур для тестов лучше всего выполняется путем создания контента в среде разработки и использования команды Django dumpdata.
Обратите внимание, что по умолчанию dumpdata будет представлять content_type по первичному ключу; это может вызвать проблемы с согласованностью при добавлении/удалении моделей, поскольку типы контента заполняются отдельно от фикстур. Чтобы этого избежать, используйте переключатель --natural-foreign, который представляет типы контента по ["app", "model"] вместо этого.
Ручное изменение
Вы можете вручную изменить сгенерированные фикстуры или даже написать их все вручную. Вот несколько моментов, на которые следует обратить внимание.
Настраиваемые модели страниц
При создании настраиваемых моделей страниц в фикстурах вам нужно будет добавить запись wagtailcore.page и одну для вашей настраиваемой модели страницы.
Допустим, у вас есть модуль website, который определяет класс Homepage(Page). Вы можете создать такую домашнюю страницу в фикстуре с помощью:
[
{
"model": "wagtailcore.page",
"pk": 3,
"fields": {
"title": "My Customer's Homepage",
"content_type": ["website", "homepage"],
"depth": 2
}
},
{
"model": "website.homepage",
"pk": 3,
"fields": {}
}
]
Поля Treebeard
Заполнение полей path, numchild и depth необходимо для корректной работы операций с деревом, таких как get_parent(). url_path — это еще одно поле, которое в некоторых редких случаях может вызвать ошибки, если оно не заполнено.
Документация по Treebeard может помочь в понимании работы с этим.
© 2014-present Torchbox Ltd and individual contributors.
All rights are reserved.
Licensed under the BSD License.
https://docs.wagtail.org/en/v2.16.3/advanced_topics/testing.html