コード例 #1
0
ファイル: test_pages.py プロジェクト: ahernp/ahernp.com
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"
コード例 #2
0
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
コード例 #3
0
ファイル: test_pages.py プロジェクト: ahernp/ahernp.com
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
コード例 #4
0
ファイル: test_pages.py プロジェクト: ahernp/ahernp.com
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
コード例 #5
0
ファイル: tests.py プロジェクト: ahernp/react-django
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