Как протестировать две формы django, которые находятся в одном представлении
У меня есть представление, которое обрабатывает две различные формы в одном POST-запросе.
Раньше тестирование было простым, потому что у меня была только одна форма, так что это было бы что-то вроде:
def test_post_success(self):
response = self.client.post("/books/add/", data={"title": "Dombey and Son"})
self.assertEqual(response.status_code, HTTPStatus.FOUND)
self.assertEqual(response["Location"], "/books/")
Если у меня есть вторая форма с 'префиксом', как мне построить объект data для запроса.
Я думаю о:
form_1_data = {foo}
form_2_data = {bar}
response = self.client.post("/books/add/", data={form_1_data, form_2_data)
Но это явно не работает
Вы можете объединять словари с помощью пометки **
. Например, так:
>>> data_1 = {"title": "Dombey and Son"}
>>> data_2 = {"character": "Donald Duck"}
>>> {**data_2, **data_1}
{'character': 'Donald Duck', 'title': 'Dombey and Son'}
Помогает ли это вашему делу?