Beispiel #1
0
 def testPageShowFound(self):
     page = build_page()
     self.db.session.add(page)
     self.db.session.commit()
     resp = self.app.get('/' + page.slug)
     self.assertEqual(resp.status_code, 200)
     self.assertTrue(page.title.encode('utf-8') in resp.data)
     self.assertTrue(page.body.encode('utf-8') in resp.data)
Beispiel #2
0
 def testPageDeleteNotAdmin(self):
     user = build_user(user_type='user')
     page = build_page()
     slug = page.slug
     self.db.session.add(user)
     self.db.session.add(page)
     self.db.session.commit()
     self.login_user(user)
     resp = self.app.post('/pages/' + slug + '/destroy')
     self.assertEqual(resp.status_code, 401)
Beispiel #3
0
 def testPageEditAsUser(self):
     user = build_user(user_type='user')
     page = build_page()
     slug = page.slug
     self.db.session.add(user)
     self.db.session.add(page)
     self.db.session.commit()
     self.login_user(user)
     resp = self.app.get('/pages/' + slug + '/edit')
     self.assertEqual(resp.status_code, 401)
Beispiel #4
0
 def testPageUpdateDuplicateSlug(self):
     user = build_user(user_type='admin')
     page = build_page()
     other_page = build_page()
     slug = page.slug
     other_slug = other_page.slug
     self.db.session.add(user)
     self.db.session.add(page)
     self.db.session.add(other_page)
     self.db.session.commit()
     self.login_user(user)
     page = Page.query.filter(Page.slug == slug).first()
     resp = self.app.post('/pages/' + slug,
                          data={
                              'title': 'New title',
                              'body': page.body,
                              'slug': other_slug
                          })
     self.assertEqual(resp.status_code, 200)
     self.assertTrue(b'This slug is taken.' in resp.data)
Beispiel #5
0
 def testPageEditAsAdmin(self):
     user = build_user(user_type='admin')
     page = build_page()
     slug = page.slug
     self.db.session.add(user)
     self.db.session.add(page)
     self.db.session.commit()
     self.login_user(user)
     resp = self.app.get('/pages/' + slug + '/edit')
     self.assertEqual(resp.status_code, 200)
     self.assertTrue(slug.encode('utf-8') in resp.data)
Beispiel #6
0
 def testPagesAdmin(self):
     user = build_user(user_type='admin')
     page = build_page()
     page_title = page.title
     self.db.session.add(user)
     self.db.session.add(page)
     self.db.session.commit()
     self.login_user(user)
     resp = self.app.get('/admin/pages')
     self.assertEqual(resp.status_code, 200)
     self.assertTrue(page_title.encode('utf-8') in resp.data)
Beispiel #7
0
 def testPageDelete(self):
     user = build_user(user_type='admin')
     page = build_page()
     slug = page.slug
     self.db.session.add(user)
     self.db.session.add(page)
     self.db.session.commit()
     self.login_user(user)
     resp = self.app.post('/pages/' + slug + '/destroy')
     self.assert_redirected(resp, '/admin/pages')
     self.assert_flashes('Page deleted', 'success')
     page = Page.query.filter(Page.slug == slug).first()
     self.assertIsNone(page)
Beispiel #8
0
 def testPageCreateDuplicateSlug(self):
     user = build_user(user_type='admin')
     page = build_page(slug='about')
     self.db.session.add(user)
     self.db.session.add(page)
     self.db.session.commit()
     self.login_user(user)
     resp = self.app.post('/pages',
                          data={
                              'title': 'About',
                              'body': 'About the page'
                          })
     self.assertEqual(resp.status_code, 200)
     self.assertTrue(b'This slug is taken.' in resp.data)
Beispiel #9
0
 def testPageUpdateNotAdmin(self):
     user = build_user(user_type='user')
     page = build_page()
     slug = page.slug
     self.db.session.add(user)
     self.db.session.add(page)
     self.db.session.commit()
     self.login_user(user)
     page = Page.query.filter(Page.slug == slug).first()
     resp = self.app.post('/pages/' + slug,
                          data={
                              'title': 'New title',
                              'body': page.body,
                              'slug': page.slug
                          })
     self.assertEqual(resp.status_code, 401)
Beispiel #10
0
 def testPageUpdateMissingData(self):
     user = build_user(user_type='admin')
     page = build_page()
     slug = page.slug
     old_title = page.title
     self.db.session.add(user)
     self.db.session.add(page)
     self.db.session.commit()
     self.login_user(user)
     page = Page.query.filter(Page.slug == slug).first()
     resp = self.app.post('/pages/' + slug,
                          data={
                              'title': '',
                              'body': page.body,
                              'slug': page.slug
                          })
     self.assertEqual(resp.status_code, 200)
     self.assertTrue(b'This field is required' in resp.data)
     page = Page.query.filter(Page.slug == slug).first()
     self.assertEqual(page.title, old_title)
Beispiel #11
0
 def testPageUpdate(self):
     user = build_user(user_type='admin')
     page = build_page()
     slug = page.slug
     self.db.session.add(user)
     self.db.session.add(page)
     self.db.session.commit()
     self.login_user(user)
     page = Page.query.filter(Page.slug == slug).first()
     resp = self.app.post('/pages/' + slug,
                          data={
                              'title': 'New title',
                              'body': page.body,
                              'slug': page.slug
                          })
     self.assert_redirected(resp, '/' + slug)
     new_page = Page.query.filter(page.slug == slug).first()
     self.assertEqual(new_page.title, 'New title')
     self.assertEqual(new_page.slug, page.slug)
     self.assertEqual(new_page.body, page.body)
Beispiel #12
0
 def testPageShowFoundHTMLBody(self):
     page = build_page(body='<p>Some html</p><p>In here</p>')
     self.db.session.add(page)
     self.db.session.commit()
     resp = self.app.get('/' + page.slug)
     self.assertTrue(page.body.encode('utf-8') in resp.data)