def test_page_list(browser, live_server): PageFactory.create() relative_url = reverse("page-list") browser.get(f"{live_server.url}{relative_url}") h1 = browser.find_element(By.CSS_SELECTOR, "h1") assert h1.text == "Pages" datatables_footer = browser.find_element(By.ID, "DataTables_Table_0_info") assert datatables_footer.text == "Showing 1 to 1 of 1 entries"
def test_search(client): page = PageFactory.create() response = client.get(f'{reverse("search")}?search=page') assert response.status_code == 200 assert b"<title>Search Results</title>" in response.content assert bytes(f'<a href="{page.get_absolute_url()}">', "utf-8") in response.content
def test_page_edit(admin_client_browser, live_server): page = PageFactory.create(content=f"# {PAGE_TITLE}") relative_url = reverse("page-detail", kwargs={"slug": page.slug}) admin_client_browser.get(f"{live_server.url}{relative_url}") admin_client_browser.find_element(By.LINK_TEXT, "Edit").click() h1 = admin_client_browser.find_element(By.CSS_SELECTOR, "h1") assert h1.text == "Edit Markdown" # Edit page content textarea = admin_client_browser.find_element(By.ID, "markdown") textarea.clear() edited_content = f"## {PAGE_TITLE}" textarea.send_keys(edited_content) # Preview edited page content admin_client_browser.find_element(By.ID, "preview-button").click() h2 = admin_client_browser.find_element(By.CSS_SELECTOR, "h2") assert h2.text == PAGE_TITLE # Save edited page content admin_client_browser.find_element(By.XPATH, '//button[text()="Save"]').click() time.sleep(1) # Wait for change to be saved to database page_from_database = Page.objects.get(pk=page.id) assert page_from_database.content == edited_content
def test_page_detail(browser, live_server): page = PageFactory.create(content=f"# {PAGE_TITLE}") relative_url = reverse("page-detail", kwargs={"slug": page.slug}) browser.get(f"{live_server.url}{relative_url}") h1 = browser.find_element(By.CSS_SELECTOR, "h1") assert h1.text == PAGE_TITLE
def test_page_api_routes(client): page_one = PageFactory.create() page_two = PageFactory.create() response = client.get("/api/v1/pages/") assert response.status_code == 200 assert isinstance(response.data, list) assert len(response.data) == 2 assert "title" in response.data[0] assert response.data[0]["title"] == page_one.title assert response.data[1]["title"] == page_two.title response = client.get( "/api/v1/pages/{page_slug}/".format(page_slug=page_two.slug)) assert response.status_code == 200 assert isinstance(response.data, dict) assert "title" in response.data assert response.data["title"] == page_two.title