import unittest
from django.urls import resolve
from selenium import webdriver


class FroyoTest(unittest.TestCase):
    def setUp(self):
        self.browser = webdriver.Firefox()
        
    def tearDown(self):
        self.browser.quit()

    def test_can_display_froyo_pages(self):
        self.browser.get('http://127.0.0.1:8000/froyo/ingredients_list/')
        correct_value = 'Ingredients - List'
        self.assertIn(correct_value, self.browser.title)
        detail = self.browser.find_element_by_tag_name('h1')
        self.assertEqual(detail.get_attribute('innerHTML'), correct_value)

        self.browser.get('http://127.0.0.1:8000/froyo/ingredients_detail/')
        correct_value = 'Ingredients - Detail'
        self.assertIn(correct_value, self.browser.title)
        detail = self.browser.find_element_by_tag_name('h1')
        self.assertEqual(detail.get_attribute('innerHTML'), correct_value)

        self.browser.get('http://127.0.0.1:8000/froyo/ingredients_create_form/')
        correct_value = 'Ingredients - Create'
        self.assertIn(correct_value, self.browser.title)
        detail = self.browser.find_element_by_tag_name('h1')
        self.assertEqual(detail.get_attribute('innerHTML'), correct_value)

        self.browser.get('http://127.0.0.1:8000/froyo/ingredients_update_form/')
        correct_value = 'Ingredients - Update'
        self.assertIn(correct_value, self.browser.title)
        detail = self.browser.find_element_by_tag_name('h1')
        self.assertEqual(detail.get_attribute('innerHTML'), correct_value)

        self.browser.get('http://127.0.0.1:8000/froyo/orders_list/')
        correct_value = 'Orders - List'
        self.assertIn(correct_value, self.browser.title)
        detail = self.browser.find_element_by_tag_name('h1')
        self.assertEqual(detail.get_attribute('innerHTML'), correct_value)

        self.browser.get('http://127.0.0.1:8000/froyo/orders_detail/')
        correct_value = 'Orders - Detail'
        self.assertIn(correct_value, self.browser.title)
        detail = self.browser.find_element_by_tag_name('h1')
        self.assertEqual(detail.get_attribute('innerHTML'), correct_value)

        self.browser.get('http://127.0.0.1:8000/froyo/orders_create_form/')
        correct_value = 'Orders - Create'
        self.assertIn(correct_value, self.browser.title)
        detail = self.browser.find_element_by_tag_name('h1')
        self.assertEqual(detail.get_attribute('innerHTML'), correct_value)

        self.browser.get('http://127.0.0.1:8000/froyo/orders_update_form/')
        correct_value = 'Orders - Update'
        self.assertIn(correct_value, self.browser.title)
        detail = self.browser.find_element_by_tag_name('h1')
        self.assertEqual(detail.get_attribute('innerHTML'), correct_value)

        self.browser.get('http://127.0.0.1:8000/froyo/recipes_list/')
        correct_value = 'Recipes - List'
        self.assertIn(correct_value, self.browser.title)
        detail = self.browser.find_element_by_tag_name('h1')
        self.assertEqual(detail.get_attribute('innerHTML'), correct_value)

        self.browser.get('http://127.0.0.1:8000/froyo/recipes_detail/')
        correct_value = 'Recipes - Detail'
        self.assertIn(correct_value, self.browser.title)
        detail = self.browser.find_element_by_tag_name('h1')
        self.assertEqual(detail.get_attribute('innerHTML'), correct_value)

        self.browser.get('http://127.0.0.1:8000/froyo/recipes_create_form/')
        correct_value = 'Recipes - Create'
        self.assertIn(correct_value, self.browser.title)
        detail = self.browser.find_element_by_tag_name('h1')
        self.assertEqual(detail.get_attribute('innerHTML'), correct_value)

        self.browser.get('http://127.0.0.1:8000/froyo/recipes_update_form/')
        correct_value = 'Recipes - Update'
        self.assertIn(correct_value, self.browser.title)
        detail = self.browser.find_element_by_tag_name('h1')
        self.assertEqual(detail.get_attribute('innerHTML'), correct_value)

        self.fail('Test Finished!')