示例#1
0
    def test_not_approved_posts_not_in_search(self):
        user2 = UserFactory()
        data = {'email': self.user.email, 'password': PASSWORD}

        request = self.client.post(reverse('rest_login'),
                                   data=data,
                                   format='json')
        self.client.credentials(HTTP_AUTHORIZATION='Token ' + self.token.key)
        self.assertEqual(request.status_code, status.HTTP_200_OK)

        post1 = PostFactory(author=user2,
                            body='test1',
                            title='title1',
                            approved=False)
        post2 = PostFactory(author=user2,
                            body='SomeBody',
                            title='SomeTitle',
                            approved=True)
        post3 = PostFactory(author=user2,
                            body='SomeBody',
                            title='SomeTitle',
                            approved=False)

        request = self.client.get(reverse('base:posts-find-posts'),
                                  {'text': 'test1'},
                                  format='json')
        self.assertEqual(len(request.data), 0)

        request = self.client.get(reverse('base:posts-find-posts'),
                                  {'text': 'SomeBody'},
                                  format='json')
        self.assertEqual(len(request.data), 1)
        self.assertEqual(request.data[0]['id'], post2.id)
class TestAUser(SeleniumTestCase):
    def setUp(self):
        # Create a user
        self.user = UserFactory()
        self.driver = CustomWebDriver()
    
    def tearDown(self):
        self.driver.quit()

    def test_can_login(self):
        '''Test that a user can login from the home page.
        '''
        # go to home page
        self.open('/')
        # type in login info
        self.driver.find_css('input[name="username"]').\
                    send_keys(self.user.username)
        self.driver.find_css('input[name="password"]').\
                    send_keys('abc')
        # submit
        self.driver.click_submit()
        # user is now authenticated
        assert_true(self.user.is_authenticated())
        # page shows that user is logged in
        assert_in('Logged in', self.driver.body_text())
class TestAUser(WebTest):

    def setUp(self):
        self.user = UserFactory()

    def tearDown(self):
        pass

    def test_can_see_homepage(self):
        # Rosie goes to homepage
        res = self.app.get('/')
        assert_equal(res.status_code, 200)

    def test_can_login(self):
        # Rosie goes to homepage
        res = self.app.get('/')
        # Rosie logs in
        form = res.forms['loginForm']
        form['username'] = self.user.username
        form['password'] = self.user.password
        res = form.submit()
        assert_equal(res.status_code, 200)
        assert_true(self.user.is_authenticated())

    def test_can_signup(self):
        # Rosie goes to homepage
        res = self.app.get('/')
        # She clicks sign up 
        res = res.click('Register')
        assert_equal(res.status_code, 200)
示例#4
0
    def test_fail_login(self):
        user = UserFactory(password=PASSWORD)

        url = reverse('rest_login')
        data = {'email': user.email, 'password': '******'}

        response = self.client.post(url, data=data, format='json')
        self.assertEqual(response.status_code, 400)
示例#5
0
    def test_get_token_after_login(self):
        user = UserFactory(password=PASSWORD)

        url = reverse('rest_login')
        data = {'email': user.email, 'password': PASSWORD}

        token = Token.objects.get(user=user)

        response = self.client.post(url, data=data, format='json')
        self.assertEqual(response.data.get('key'), token.key)
        self.assertEqual(response.status_code, 200)
示例#6
0
    def test_token_user_is_correct_user(self):
        user = UserFactory(password=PASSWORD)

        url = reverse('rest_login')
        data = {'email': user.email, 'password': PASSWORD}

        response = self.client.post(url, data=data, format='json')

        response_token = Token.objects.get(key=response.data.get('key'))
        token = Token.objects.get(user=user)

        self.assertEqual(response_token, token)
示例#7
0
    def test_redactor_approve_post(self):
        redactor = UserFactory(type=USER_TYPE_CHOICES.redactor,
                               password=PASSWORD)
        token = Token.objects.get(user=redactor)
        data = {'email': redactor.email, 'password': PASSWORD}

        request = self.client.post(reverse('rest_login'),
                                   data=data,
                                   format='json')
        self.client.credentials(HTTP_AUTHORIZATION='Token ' + token.key)
        self.assertEqual(request.status_code, status.HTTP_200_OK)

        post = PostFactory(author=self.user, approved=False)
        self.assertEqual(post.approved, False)

        request = self.client.patch(
            reverse('base:posts-approve', kwargs={'pk': post.pk}))
        self.assertEqual(request.status_code, status.HTTP_200_OK)

        post = Post.objects.first()
        self.assertEqual(post.approved, True)
 def setUp(self):
     # Create a user
     self.user = UserFactory()
     self.driver = CustomWebDriver()
示例#9
0
 def setUp(self):
     self.user = UserFactory(password=PASSWORD,
                             type=USER_TYPE_CHOICES.journalist)
     self.token = Token.objects.first()
示例#10
0
 def setUp(self):
     self.user = UserFactory(password=PASSWORD)
     self.token = Token.objects.first()
 def setUp(self):
     self.user = UserFactory()