Я сталкиваюсь с проблемой при переходе от разработки к производству.
В тесте sqlite запускает pk через 1 (первый созданный мной объект Propuesta имеет pk == 1), postgres запускает егов 9 (я не понимаю, почему, запустив Propuesta.objects.count (), я получаю 10, так что ничего не должно быть раньше).
Это делает мой тест неудачным, потому что ожидает 1 вURL как ПК, как я могу исправить это поведение?
У меня есть следующий тест:
class PropuestaDetailViewTest(TestCase):
@classmethod
def setUpTestData(cls):
cls.concejo_1 = Alcance.objects.create(nombre_pais="España", nombre_provincia="Asturias",
nombre_concejo="Castrillon")
cls.categoria = Categoria.objects.create(titulo="ambiente", descripcion="test")
number_of_proponsals = 10
for proponsal_num in range(number_of_proponsals):
cls.propuesta = Propuesta.objects.create(titulo="titulo_" + proponsal_num.__str__(),
descripcion="des_" + proponsal_num.__str__(),
creador_de_la_propuesta=User.objects.first(),
localizacion=cls.concejo_1)
cls.propuesta.categorias.add(cls.categoria)
def test_context(self):
resp = self.client.get(reverse('participation:detail-view', kwargs={'propuesta_id': 1, 'slug': 'titulo_0'}))
self.assertEqual(resp.status_code, 200)
self.assertTrue(resp.context['propuesta'].titulo == 'titulo_0')
self.assertTrue(resp.context['que_ha_votado'] == 0)
self.assertTrue(resp.context['is_user_authenticated'] == 'false')
И