Django TestCase не может редактировать объект

Я хочу протестировать мое представление объекта редактирования в Django.

Это мое мнение

class EditRoomView(View):
def get(self, request, room_id):
    room = ConferenceRoom.objects.get(id=room_id)
    return render(request, "edit_room.html", context={"room": room})

def post(self, request, room_id):
    room = ConferenceRoom.objects.get(id=room_id)
    name = request.POST.get("room-name")
    capacity = request.POST.get("capacity")
    capacity = int(capacity) if capacity else 0
    projector = request.POST.get("projector") == "on"
    if not name:
        return render(
            request,
            "edit_room.html",
            context={"error": "Podaj nazwę sali"},
        )
    if capacity <= 0:
        return render(
            request,
            "edit_room.html",
            context={"error": "Podaj dodatnią pojemność sali"},
        )
    try:
        room.name = name
        room.capacity = capacity
        room.has_projector = projector
        room.save()
    except:
        return render(
            request,
            "edit_room.html",
            context={"error": "Sala o podanej nazwie już istnieje"},
        )
    return redirect("/")

и вот мой тест:

def test_edit_room_POST(self):
    response = self.client.post(self.edit_room_url, {
        'room_name': "test3",
        'capacity': 5000,
        'projector': False,
    })
    self.room1.refresh_from_db()
    self.assertEquals(self.room1.name, "test3")

Я создал свой объект следующим образом:

@classmethod
def setUpTestData(cls):
    cls.room1 = ConferenceRoom.objects.create(name="test", capacity = 1000, has_projector = True)

Я пытался сделать с refresh_from_db и без refresh_from_db, но я не могу редактировать свой объект в тесте. Редактирование объекта в представлении работает корректно.

Вернуться на верх