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())
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'))
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')