'Test the basic workflow of a student recieving hints. The student should submit an incorrect answer and
receive a hint (in this case no hint since none are set), be able to rate that hint, see a different UX
after submitting a correct answer, and be capable of contributing a new hint to the system.'

def test_student_hint_workflow(self):

    csh_problem_page = self._goto_csh_problem_page()
    csh_problem_page.submit_text_answer('michigann')
    csh_problem_page.wait_for_ajax()
    self.assertEqual(csh_problem_page.get_hint_text()[0], u'Hint:    Sorry,    there    are    no    hints    for    this    answer.')
    self.assertGreater(len(self.browser.find_elements_by_class_name('csh_rate_hint')), 0)
    csh_problem_page.rate_hint()
    csh_problem_page.wait_for_ajax()
    csh_problem_page.submit_text_answer('michigan')
    csh_problem_page.wait_for_ajax()
    self.assertGreater(len(self.browser.find_elements_by_id('show_hint_rating_ux')), 0)
    csh_problem_page.submit_new_hint('new    hint    text')
