Exemple #1
0
    def test_click_logout_button___login_button_is_visible(self):
        get_user_model().objects.create_user("user", password="******")

        login_as(self.driver, self.live_server_url, "user", "password")
        wait_for_element(self.driver, By.ID, "logout-link").click()

        self.assertIsNotNone(wait_for_element(self.driver, By.ID, "login-link"))
Exemple #2
0
    def test_logged_in_click_create_entry___taken_to_create_entry_form(self):
        login_as(self.driver, self.live_server_url, "user", "password")

        wait_for_element(self.driver, By.ID, "create-entry-link").click()

        self.assertEqual(self.live_server_url + "/create_blog_entry",
                         self.driver.current_url)
Exemple #3
0
    def test_submit_create_form_with_no_content___field_is_in_error(self):
        login_as(self.driver, self.live_server_url, "user", "password")

        wait_for_element(self.driver, By.ID, "create-entry-link").click()
        wait_for_element(self.driver, By.NAME, "title").send_keys("some title")
        wait_for_element(self.driver, By.NAME, "submit").click()

        form_group = wait_for_element(self.driver, By.XPATH,
                                      ".//*[@name='content']/..")
        self.assertIn("has-error", form_group.get_attribute("class"))
    def test_click_create_button_while_logged_in___navigate_to_create_screen(
            self):
        get_user_model().objects.create_user("user", password="******")
        login_as(self.driver, self.live_server_url, "user", "password")
        self.driver.get(self.live_server_url)

        wait_for_element(self.driver, By.ID, "create-entry-link").click()

        self.assertEqual(self.live_server_url + "/create_blog_entry",
                         self.driver.current_url)
Exemple #5
0
    def test_submit_valid_form___new_model_object_is_created(self):
        login_as(self.driver, self.live_server_url, "user", "password")

        wait_for_element(self.driver, By.ID, "create-entry-link").click()
        wait_for_element(self.driver, By.NAME, "title").send_keys("some title")
        wait_for_element(self.driver, By.NAME,
                         "content").send_keys("some content")
        wait_for_element(self.driver, By.NAME, "submit").click()

        self.assertIsNotNone(
            Entry.objects.get(title="some title", content="some content"))
Exemple #6
0
    def test_submit_create_form_with_no_content___title_is_unchanged(self):
        login_as(self.driver, self.live_server_url, "user", "password")

        wait_for_element(self.driver, By.ID, "create-entry-link").click()
        wait_for_element(self.driver, By.NAME, "title").send_keys("some title")
        wait_for_element(self.driver, By.NAME, "submit").click()

        self.assertEqual(
            "some title",
            wait_for_element(self.driver, By.NAME,
                             "title").get_attribute("value"))
Exemple #7
0
    def test_submit_valid_form___redirected_to_the_blog_entry(self):
        login_as(self.driver, self.live_server_url, "user", "password")

        wait_for_element(self.driver, By.ID, "create-entry-link").click()
        wait_for_element(self.driver, By.NAME, "title").send_keys("some title")
        wait_for_element(self.driver, By.NAME,
                         "content").send_keys("some content")
        wait_for_element(self.driver, By.NAME, "submit").click()

        pk = Entry.objects.get(title="some title", content="some content").pk
        self.assertEqual(self.live_server_url + "/blog_entry/" + str(pk),
                         self.driver.current_url)
    def test_navigate_to_existing_item_as_owner___edit_button_is_present(self):
        Entry(
            title="Test Post Title",
            content="Test Post Content",
            owner=self.owner,
        ).save()

        pk = Entry.objects.all()[0].id

        login_as(self.driver, self.live_server_url, "user", "password")

        self.driver.get(self.live_server_url + "/blog_entry/" + str(pk))
        self.assertIsNotNone(wait_for_element(self.driver, By.ID, "edit-button"))
    def test_click_edit_button___taken_to_edit_page(self):
        Entry(
            title="Test Post Title",
            content="Test Post Content",
            owner=self.owner,
        ).save()

        pk = Entry.objects.all()[0].id

        login_as(self.driver, self.live_server_url, "user", "password")
        self.driver.get(self.live_server_url + "/blog_entry/" + str(pk))
        wait_for_element(self.driver, By.ID, "edit-button").click()

        self.assertEqual(self.live_server_url + "/modify_blog_entry/" + str(pk), self.driver.current_url)
    def test_click_delete_button_and_accept___entry_has_been_deleted(self):
        Entry(
            title="Test Post Title",
            content="Test Post Content",
            owner=self.owner,
        ).save()

        pk = Entry.objects.all()[0].id

        login_as(self.driver, self.live_server_url, "user", "password")
        self.driver.get(self.live_server_url + "/blog_entry/" + str(pk))
        wait_for_element(self.driver, By.ID, "delete-button").click()
        wait_for_alert(self.driver).accept()

        self.assertTrue(self._wait_for_delete(pk))
    def test_click_delete_button_and_cancel___page_is_not_changed(self):
        Entry(
            title="Test Post Title",
            content="Test Post Content",
            owner=self.owner,
        ).save()

        pk = Entry.objects.all()[0].id

        login_as(self.driver, self.live_server_url, "user", "password")
        self.driver.get(self.live_server_url + "/blog_entry/" + str(pk))
        wait_for_element(self.driver, By.ID, "delete-button").click()
        wait_for_alert(self.driver).dismiss()

        self.assertEqual(self.live_server_url + "/blog_entry/" + str(pk), self.driver.current_url)
Exemple #12
0
    def test_logs_in_as_user___login_button_changes_to_logout(self):
        get_user_model().objects.create_user("user", password="******")

        login_as(self.driver, self.live_server_url, "user", "password")

        self.assertIsNotNone(wait_for_element(self.driver, By.ID, "logout-link"))
Exemple #13
0
    def test_logs_in_as_user___taken_back_to_home_screen(self):
        get_user_model().objects.create_user("user", password="******")

        login_as(self.driver, self.live_server_url, "user", "password")

        self.assertEqual(self.live_server_url + "/", self.driver.current_url)
Exemple #14
0
    def test_navigate_to_create_entry_form___content_field_is_present(self):
        login_as(self.driver, self.live_server_url, "user", "password")

        wait_for_element(self.driver, By.ID, "create-entry-link").click()

        self.assertIsNotNone(wait_for_element(self.driver, By.NAME, "content"))