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)