본문으로 바로가기

DRF | 테스트코드 | goods like | url

category TIL/team_project 2022. 12. 26. 15:39

에러발생

django.urls.exceptions.NoReverseMatch: Reverse for 'goods_like' with no arguments not found. 1 pattern(s) tried: ['goods/like/(?P<goods_id>[0-9]+)/\\Z']

문제점

url을 어떤식으로 입력해야 할지 모름 path parameter는 처음이라 일단 원래대로 진행

해결방안

일단 굿즈를 하나 만들었으니 그 api에 전송하는 url을 입력하면 된다 공식문서를 참고해서 입력해봤지만 안되었다 postman 에서 보내던걸 생각해서 똑같이 만들어봄

개선

 

    @classmethod
    def setUpTestData(cls):
        cls.user_data={'phone':'010','username':'test','password':'!1testtest'}
        cls.user=User.objects.create_user('010','test','!1testtest')
        cls.goods=Goods.objects.create(
            id=1,
            predict_price=1,
            start_price=1,
            start_date='2022-12-29',
            seller_id=1
            )

    def setUp(self):
        self.access_token=self.client.post(reverse('token_obtain'), self.user_data).data['access']

    def test_goods_like(self):
        response = self.client.get(
            '/goods/like/1/',
            HTTP_AUTHORIZATION=f"Bearer {self.access_token}"
        )
        print(self.goods.id)
        print(response)
        # print(response.data)
        self.assertEqual(response.status_code,200)