Esempio n. 1
0
    def test_update_library(self):
        with freeze_time("2019-06-01T16:35:34Z"):
            lib = LibraryFactory.create(owner=self.me)

        with freeze_time("2019-07-13T12:10:12Z"):
            updateFields = {
                "data": {
                    "new": "data"
                },
            }

            self.client.force_authenticate(self.me)

            response = self.client.patch(
                "/api/v1/libraries/{}/".format(lib.pk),
                updateFields,
                format="json",
            )

        assert status.HTTP_204_NO_CONTENT == response.status_code
        assert b"" == response.content

        updated_library = Library.objects.get(pk=lib.pk)

        assert {"new": "data"} == updated_library.data

        assert "2019-07-13T12:10:12+00:00" == updated_library.updated_at.isoformat(
        )
Esempio n. 2
0
 def setUpClass(cls):
     super().setUpClass()
     cls.library = LibraryFactory.create(data={
         "tag1": {
             "name": "foo"
         },
         "tag2": {
             "name": "bar"
         },
     })
Esempio n. 3
0
    def test_destroy_library(self):
        lib = LibraryFactory.create(owner=self.me)

        assessment_count = Library.objects.count()

        self.client.force_authenticate(self.me)
        response = self.client.delete(f"/api/v1/libraries/{lib.pk}/")

        assert status.HTTP_204_NO_CONTENT == response.status_code
        assert b"" == response.content

        assert (assessment_count - 1) == Library.objects.count()
    def test_update_library_item_fails_if_tag_doesnt_exist(self):
        library = LibraryFactory.create()

        replacement_data = {
            "name": "bar",
            "other": "data",
        }

        self.client.force_authenticate(library.owner)

        response = self.client.put(
            f"/api/v1/libraries/{library.id}/items/tag5/",
            replacement_data,
            format="json")

        assert response.status_code == status.HTTP_404_NOT_FOUND
    def test_destroy_library_item(self):
        library = LibraryFactory.create(data={
            "tag1": {
                "name": "foo"
            },
            "tag2": {
                "name": "bar"
            },
        }, )

        self.client.force_authenticate(library.owner)
        response = self.client.delete(
            f"/api/v1/libraries/{library.id}/items/tag2/")

        assert response.status_code == status.HTTP_204_NO_CONTENT

        retrieved = Library.objects.get(id=library.id)
        assert retrieved.data == {"tag1": {"name": "foo"}}
    def test_update_library_item(self):
        library = LibraryFactory.create(data={
            "tag1": {
                "name": "foo"
            },
        }, )

        replacement_data = {
            "name": "bar",
            "other": "data",
        }

        with freeze_time("2019-06-01T16:35:34Z"):
            self.client.force_authenticate(library.owner)
            response = self.client.put(
                f"/api/v1/libraries/{library.id}/items/tag1/",
                replacement_data,
                format="json")

        assert response.status_code == status.HTTP_204_NO_CONTENT
        retrieved = Library.objects.get(id=library.id)
        assert retrieved.data == {"tag1": replacement_data}
Esempio n. 7
0
 def setUpClass(cls):
     super().setUpClass()
     cls.library = LibraryFactory.create()
Esempio n. 8
0
def library() -> Library:
    return LibraryFactory()