Установить kwargs в тесте сериализатора

Я написал сериализатор, в котором я использовал kwargs в его validate() . вот он:

  def validate(self, value):
    course_id = self.context.get("view").kwargs.get("course_id ")
    ....

Теперь я хочу написать тест, но не знаю, как передать ему kwargs.

вот тест, который я пытаюсь написать:

def test_valid_data(self):
    serializer = CourseSerializer(
        data=self.course,
             )
    self.assertTrue(serializer.is_valid())

Я проверил это, но это не сработало:

def test_valid_data(self):
    serializer = CourseSerializer(
        data=self.course,
         kwargs={
            "course_id": test_course_id
        },

    )
    self.assertTrue(serializer.is_valid())

Вы можете передавать контекст в сериализаторе с дополнительными полями.

CategorySerializer(data=self.category,context={'request': request,'course_id': test_course_id})

и получить, используя контекст внутри вашего сериализатора.

course_id = self.context.get('course_id')
Вернуться на верх