コード例 #1
0
    def retrieve_page(self, api_client, user, page):
        published_version = page.copy_page(attrs={"is_draft": False})

        page.published_version = published_version
        page.save()

        api_client.force_authenticate(user)
        response = api_client.get(self.get_url(page.id))

        assert response.status_code == status.HTTP_200_OK
        assert response.data["results"] == page_serializer.PageDetailSerializer(page).data
コード例 #2
0
    def test_create_page_with_text_elements(
        self, api_client, admin, project, section_factory, block_template
    ):
        section = section_factory(project=project)

        payload = {
            "name": "Test",
            "section": section.id,
            "display_name": "Display Name",
            "description": "description",
            "keywords": "word;word1",
            "is_public": True,
            "blocks": [
                {
                    "block": block_template.id,
                    "name": "Test Block",
                    "type": "test",
                    "order": 1,
                    "elements": [
                        {
                            "name": "Test Element",
                            "type": "code",
                            "order": 0,
                            "value": "<h1>Test Element</h2>",
                            "params": {},
                        },
                        {
                            "name": "Test Element #2",
                            "type": "markdown",
                            "order": 1,
                            "value": "Test Markdown Element",
                            "params": {},
                        },
                    ],
                },
            ],
        }

        api_client.force_authenticate(admin)
        response = api_client.post(self.get_url(section.id), data=payload, format="json")
        page = pages_models.Page.only_pages.get(id=response.data["id"])

        assert response.status_code == status.HTTP_201_CREATED
        assert response.data == page_serializer.PageDetailSerializer(page).data
        assert page.is_template is False
コード例 #3
0
    def test_create_page_with_observable_element(
        self, api_client, admin, project, section_factory, block_template
    ):
        section = section_factory(project=project)

        payload = {
            "name": "Test",
            "section": section.id,
            "display_name": "Display Name",
            "description": "description",
            "keywords": "word;word1",
            "is_public": True,
            "blocks": [
                {
                    "block": block_template.id,
                    "name": "Test Block",
                    "type": "test",
                    "order": 1,
                    "elements": [
                        {
                            "name": "Test Name",
                            "type": "observable_hq",
                            "order": 0,
                            "value": {
                                "observable_user": "******",
                                "observable_notebook": "notebook",
                                "observable_cell": "cell",
                                "observable_params": "params",
                            },
                            "params": {},
                        },
                    ],
                },
            ],
        }

        api_client.force_authenticate(admin)
        response = api_client.post(self.get_url(section.id), data=payload, format="json")
        page = pages_models.Page.only_pages.get(id=response.data["id"])

        assert response.status_code == status.HTTP_201_CREATED
        assert response.data == page_serializer.PageDetailSerializer(page).data
コード例 #4
0
    def create_page(self, api_client, user, project, page_template_factory, section_factory):
        section = section_factory(project=project)
        page_template = page_template_factory(project=project)

        payload = {
            "name": "Test",
            "section": section.id,
            "template": page_template.id,
            "display_name": "Display Name",
            "description": "description",
            "keywords": "word;word1",
            "is_public": True,
        }

        api_client.force_authenticate(user)
        response = api_client.post(self.get_url(section.id), data=payload, format="json")
        page = pages_models.Page.only_pages.get(id=response.data["id"])

        assert response.status_code == status.HTTP_201_CREATED
        assert response.data == page_serializer.PageDetailSerializer(page).data
        assert page.is_template is False
        assert section.project == page_template.project == page.project
        assert page.published_version is not None
        assert page.published_version.is_draft is False