추가적으로 테스트 케이스를 더 진행할건데요. HTTP METHOD PUT과 PATCH에요.
기존 recipe객체의 title키, tags 키의 value값 2개를 다른것으로 166번째 줄에서 바꿔버렸어요.
detail_url()메서드의 인자로 recipe.id 값을 넣고 다음줄 patch()메서드에 두개의 인자를 넣어주게되요.
그 다음 client를 통해서 patch 요청이 가고 db를 다시 조회해서 recipe 인스턴스 값을 갱신할거에요. 이래야지 assertEqual, assertIn메서드로 값을 비교할 수 있어요.
178, 179번째 줄까지는 서버에서 자체적으로 recipe 객체를 만들고 해당 객체에 tag를 연결해주었어요.
이후 payload를 만들어서 clinet.put()메서드를 할 때까지는 clinet에서 진행을 위해서 소스코드를 짠건데요.
전체적으로 한꺼번에 정보를 변경하기 위해서에요.
마지막 len()메서드로 해당 tags 객체의 쿼리셋이 0이 된 이유는 payload와 함께 PUT요청을 이후 별도의 recipe와 tag 연결이 진행되지 않았기에 새로운 recipe 객체의 속성인 tags의 쿼리셋이 당근 0이되요.
성공!