def test_missing_fields_are_not_returned(self): html = fixture.replace('remaining_time', '').replace('Remaining Time', '') tester = TicketViewPageTester(None, None, html=html) self.assert_false(Key.REMAINING_TIME in tester.fields()) self.assert_false(Key.REMAINING_TIME in tester.ticket())
class TestTicketAttributesCanBeExtractedFromViewTicketPage(AgiloTestCase): def setUp(self): self.super() self.tester = TicketViewPageTester(None, None, html=fixture) def test_can_extract_id(self): self.assert_equals(5, self.tester.id()) def test_can_extract_summary(self): self.assert_equals('Some forgotten task', self.tester.summary()) def test_can_extract_description(self): self.assert_equals('A random description', self.tester.description()) def test_can_extract_reporter(self): self.assert_equals('a_reporter', self.tester.reporter()) def test_can_extract_owner(self): self.assert_equals('an_owner', self.tester.owner()) def test_can_extract_status(self): self.assert_equals('new', self.tester.status()) def test_can_extract_sprint(self): self.assert_equals('In the middle of nowhere', self.tester.sprint()) def test_can_extract_remaining_time(self): self.assert_equals('7.0h', self.tester.remaining_time()) def test_can_extract_resources(self): self.assert_equals('n.a.', self.tester.resources()) def test_can_extract_story_points(self): story_html = fixture.replace('remaining_time', 'rd_points').replace('Remaining Time', 'User Story Points') tester = TicketViewPageTester(None, None, html=story_html.replace('7.0h', '12')) self.assert_equals(12, tester.story_points()) tester = TicketViewPageTester(None, None, html=story_html.replace('7.0h', 'n.a.')) self.assert_equals('n.a.', tester.story_points()) def test_can_extract_linkified_attributes(self): self.tester = TicketViewPageTester(None, None, html=linkified_attribute_fixture) self.assert_equals('MyMilestone', self.tester.milestone()) def test_can_provide_value_object_with_all_values(self): expected_dict = dict( id=self.tester.id(), summary=self.tester.summary(), description=self.tester.description(), reporter=self.tester.reporter(), owner=self.tester.owner(), status=self.tester.status(), sprint=self.tester.sprint(), remaining_time=self.tester.remaining_time(), resources=self.tester.resources()) self.assert_equals(expected_dict, self.tester.ticket()) def test_knows_all_fiels_that_are_present_on_page(self): expected_fields = [Key.ID, Key.SUMMARY, Key.DESCRIPTION, Key.REPORTER, Key.OWNER, Key.STATUS, Key.SPRINT, Key.REMAINING_TIME, 'resources'] self.assert_equals(set(expected_fields), self.tester.fields()) def test_missing_fields_are_not_returned(self): html = fixture.replace('remaining_time', '').replace('Remaining Time', '') tester = TicketViewPageTester(None, None, html=html) self.assert_false(Key.REMAINING_TIME in tester.fields()) self.assert_false(Key.REMAINING_TIME in tester.ticket())