[drf | patch,put] Build a Backend REST API - 42

Hyeseong·2021년 3월 8일
0

Add tests for updating recipes🤹‍♂️

추가적으로 테스트 케이스를 더 진행할건데요. HTTP METHOD PUT과 PATCH에요.

patch test👩‍🎤

기존 recipe객체의 title키, tags 키의 value값 2개를 다른것으로 166번째 줄에서 바꿔버렸어요.

detail_url()메서드의 인자로 recipe.id 값을 넣고 다음줄 patch()메서드에 두개의 인자를 넣어주게되요.

그 다음 client를 통해서 patch 요청이 가고 db를 다시 조회해서 recipe 인스턴스 값을 갱신할거에요. 이래야지 assertEqual, assertIn메서드로 값을 비교할 수 있어요.

put test👨‍🏭

178, 179번째 줄까지는 서버에서 자체적으로 recipe 객체를 만들고 해당 객체에 tag를 연결해주었어요.

이후 payload를 만들어서 clinet.put()메서드를 할 때까지는 clinet에서 진행을 위해서 소스코드를 짠건데요.

전체적으로 한꺼번에 정보를 변경하기 위해서에요.

마지막 len()메서드로 해당 tags 객체의 쿼리셋이 0이 된 이유는 payload와 함께 PUT요청을 이후 별도의 recipe와 tag 연결이 진행되지 않았기에 새로운 recipe 객체의 속성인 tags의 쿼리셋이 당근 0이되요.

테스트 돌려보기👩‍💻

성공!

profile
어제보다 오늘 그리고 오늘 보다 내일...

0개의 댓글