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
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
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
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