def test_article_exist(self):
        key = Article(title='title', body='body').put()
        self.users_login('admin@localhost', is_admin=True)
        url = reverse('article_admin_delete', kwargs={'id': key.id()})

        resp = self.client.get(url)

        self.assertRedirects(resp, reverse('index'))
        self.assertEqual(Article.all().count(), 0)
class TestUpdateArticle(AppEngineTestCase):
    def setUp(self):
        create_blog()
        self.key = Article(title='title123', body='body123').put()
        self.url = reverse('article_admin_update',
                           kwargs={'id': self.key.id()})

    def test_user_not_admin(self):
        self.users_login('user@localhost', is_admin=False)
        resp = self.client.get(self.url)
        self.assertEqual(resp.status_code, 302)

    def test_user_not_authenticated(self):
        resp = self.client.get(self.url)
        self.assertEqual(resp.status_code, 302)

    def test_form_contains_article_title_and_body(self):
        self.users_login('admin@localhost', is_admin=True)
        resp = self.client.get(self.url)
        self.assertContains(resp, 'title123')
        self.assertContains(resp, 'body123')

    def test_post_no_body(self):
        self.users_login('admin@localhost', is_admin=True)
        data = {'title': 'new_title'}

        self.client.post(self.url, data)

        article = Article.get(self.key)
        self.assertEqual(article.title, 'title123')
        self.assertEqual(article.body, 'body123')

    def test_post_no_title(self):
        self.users_login('admin@localhost', is_admin=True)
        data = {'body': 'new_body'}

        self.client.post(self.url, data)

        article = Article.get(self.key)
        self.assertEqual(article.title, 'title123')
        self.assertEqual(article.body, 'body123')

    def test_post_valid(self):
        self.users_login('admin@localhost', is_admin=True)
        data = {'body': 'new_body', 'title': 'new_title'}

        self.client.post(self.url, data)

        article = Article.get(self.key)
        self.assertEqual(article.title, 'new_title')
        self.assertEqual(article.body, 'new_body')
コード例 #3
0
 def test_get_by_id_or_404_article_found(self):
     key = Article(title='title', body='body').put()
     result = Article.get_by_id_or_404(key.id())
     self.assertEqual(key, result.key())
コード例 #4
0
 def test_get_by_id_or_404_no_article(self):
     key = Article(title='title', body='body').put()
     free_key = key.id() + 1
     with self.assertRaises(Http404):
         Article.get_by_id_or_404(free_key)