def test_pages_using_templates(self):
        # Create user and log in
        test_utils.create_user()
        self.client.login(username='******', password='******')

        # Create categories
        categories = test_utils.create_categories()
        # Create a list of pages to access
        pages = [
            reverse('index'),
            reverse('about'),
            reverse('add_category'),
            reverse('register'),
            reverse('login'),
            reverse('show_category', args=[categories[0].slug]),
            reverse('add_page', args=[categories[0].slug])
        ]  #, reverse('restricted')]

        # Create a list of pages to access
        templates = [
            'rango/index.html', 'rango/about.html', 'rango/add_category.html',
            'rango/register.html', 'rango/login.html', 'rango/category.html',
            'rango/add_page.html'
        ]  #, 'rango/restricted.html']

        # For each page in the page list, check if it extends from base template
        for template, page in zip(templates, pages):
            response = self.client.get(page)
            self.assertTemplateUsed(response, template)
    def test_url_reference_in_category_page(self):
        # Create user and log in
        test_utils.create_user()
        self.client.login(username='******', password='******')

        # Create categories
        test_utils.create_categories()

        # Check for add_page in category page
        response = self.client.get(
            reverse('show_category', args=['category-1']))
        self.assertIn(reverse('add_page', args=['category-1']),
                      response.content.decode('ascii'))
    def test_url_reference_in_index_page_when_logged(self):
        # Create user and log in
        test_utils.create_user()
        self.client.login(username='******', password='******')

        # Access index page
        response = self.client.get(reverse('index'))

        # Check links that appear for logged person only
        self.assertIn(reverse('add_category'),
                      response.content.decode('ascii'))
        self.assertIn(reverse('restricted'), response.content.decode('ascii'))
        self.assertIn(reverse('logout'), response.content.decode('ascii'))
        self.assertIn(reverse('about'), response.content.decode('ascii'))
    def test_titles_displayed(self):
        # Create user and log in
        test_utils.create_user()
        self.client.login(username='******', password='******')

        # Create categories
        categories = test_utils.create_categories()

        # Access index and check the title displayed
        response = self.client.get(reverse('index'))
        self.assertIn('Rango -'.lower(),
                      response.content.decode('ascii').lower())

        # Access category page and check the title displayed
        response = self.client.get(
            reverse('show_category', args=[categories[0].slug]))
        self.assertIn(categories[0].name.lower(),
                      response.content.decode('ascii').lower())

        # Access about page and check the title displayed
        response = self.client.get(reverse('about'))
        self.assertIn('About'.lower(),
                      response.content.decode('ascii').lower())

        # Access login page and check the title displayed
        response = self.client.get(reverse('login'))
        self.assertIn('Login'.lower(),
                      response.content.decode('ascii').lower())

        # Access register page and check the title displayed
        response = self.client.get(reverse('register'))
        self.assertIn('Register'.lower(),
                      response.content.decode('ascii').lower())

        # Access restricted page and check the title displayed
        response = self.client.get(reverse('restricted'))
        self.assertIn("Since you're logged in".lower(),
                      response.content.decode('ascii').lower())

        # Access add page and check the title displayed
        response = self.client.get(
            reverse('add_page', args=[categories[0].slug]))
        self.assertIn('Add Page'.lower(),
                      response.content.decode('ascii').lower())

        # Access add new category page and check the title displayed
        response = self.client.get(reverse('add_category'))
        self.assertIn('Add Category'.lower(),
                      response.content.decode('ascii').lower())
예제 #5
0
    def test_login_redirects_to_index(self):
        # Create a user
        test_utils.create_user()

        # Access login page via POST with user data
        try:
            response = self.client.post(reverse('login'), {'username': '******', 'password': '******'})
        except:
            try:
                response = self.client.post(reverse('rango:login'), {'username': '******', 'password': '******'})
            except:
                return False

        # Check it redirects to index
        self.assertRedirects(response, reverse('index'))
예제 #6
0
    def test_user_profile_model(self):
        # Create a user
        user, user_profile = test_utils.create_user()

        # Check there is only the saved user and its profile in the database
        all_users = User.objects.all()
        self.assertEquals(len(all_users), 1)

        all_profiles = UserProfile.objects.all()
        self.assertEquals(len(all_profiles), 1)

        # Check profile fields were saved correctly
        all_profiles[0].user = user
        all_profiles[0].website = user_profile.website
    def test_admin_contains_user_profile(self):
        # Access admin page
        url = self.live_server_url
        url = url.replace('localhost', '127.0.0.1')
        self.browser.get(url + reverse('admin:index'))

        # Log in the admin page
        test_utils.login(self)

        # Check exists a link to user profiles
        self.browser.find_element_by_link_text('User profiles').click()

        # Check it is empty
        body = self.browser.find_element_by_tag_name('body')
        self.assertIn('0 user profiles', body.text)

        # create a user
        user, user_profile = test_utils.create_user()

        self.browser.refresh()

        # Check there is one profile
        body = self.browser.find_element_by_tag_name('body')