1

"test_put_method_success" is showing AssertionError: 404 != 200. How to solve it? ......................

class BasicTest(APITestCase):
    def setUp(self):
        self.client = Client()
        self.user = User(username="admin", email="admin@gmail.com")
        self.user.is_staff = True
        self.user.set_password('admin')
        self.user.save()


    def test_put_method_success(self):
        url = "http://127.0.0.1:8000/settings/modules/1/"
        data = {
            'modulename': "Module test update",
            'activation_status': "Active"
        }

        self.assertTrue(self.client.login(username="admin", password="admin"))
        response = self.client.put(url, data, format='json')
        print(response.status_code)
        self.assertEqual(response.status_code, status.HTTP_200_OK)

urls.py

from rest_framework import routers

router = routers.DefaultRouter()
router.register('modules', views.ModuleView)

urlpatterns = [
    path('', include(router.urls)),
]
Freedom Rider
  • 27
  • 1
  • 8

1 Answers1

1

By default DRF PUT does not create an instance. You need some extra steps as explained by the documentation.

Linovia
  • 19,812
  • 4
  • 47
  • 48