Example #1
0
 def test_other_airline_roster_returns_validation_error(self):
     roster = self.create_roster_from_file('anz_other_airline_format.txt', 'ANZ')
     with self.assertRaises(ValidationError):
         roster_processor_factory(roster)
     roster = self.create_roster_from_file('anz_test_roster.txt', 'ANZ')
     try:
         roster_processor_factory(roster)
     except ValidationError:
         self.fail("roster_processor_factory() raised ValidationError")
Example #2
0
 def test_parser_returns_select_roster_fields(self):
     roster = self.create_roster_from_file('anz_test_roster.txt', 'ANZ')
     roster_processor = roster_processor_factory(roster)
     roster_fields = roster_processor.get_roster_fields('name', 'rank')
     self.assertEqual(roster_fields.get('name'), 'TIPPETT SIMON')
     self.assertIsNone(roster_fields.get('base'), None)
     self.assertEqual(roster_fields.get('rank'), 'CAPTAIN A320')
Example #3
0
 def test_parser_returns_roster_fields(self):
     roster = self.create_roster_from_file('anz_test_roster.txt', 'ANZ')
     roster_processor = roster_processor_factory(roster)
     roster_fields = roster_processor.get_roster_fields()
     self.assertEqual(roster_fields.get('name'), 'TIPPETT SIMON')
     self.assertEqual(roster_fields.get('base'), 'AKL')
     self.assertEqual(roster_fields.get('rank'), 'CAPTAIN A320')
     self.assertEqual(roster_fields.get('month'), '05')
     self.assertEqual(roster_fields.get('year'), '2015')
Example #4
0
 def test_parser_returns_roster_fields_and_save_to_model(self):
     roster = self.create_roster_from_file('anz_test_roster.txt', 'ANZ')
     roster_processor = roster_processor_factory(roster)
     roster_fields = roster_processor.get_roster_fields()
     for attr, value in roster_fields.items():
         if hasattr(roster, attr):
             setattr(roster, attr, value)
     roster.save()
     self.assertEqual(roster.name, 'TIPPETT SIMON')
     self.assertEqual(roster.base, 'AKL')
     self.assertEqual(roster.rank, 'CAPTAIN A320')
     self.assertEqual(roster.month, '05')
     self.assertEqual(roster.year, '2015')
Example #5
0
 def test_factory_for_unknown_airline_raises_validation_error(self):
     roster = self.create_roster_from_file('anz_other_airline_format.txt', 'QFA')
     with self.assertRaises(ValidationError):
         roster_processor_factory(roster)
Example #6
0
 def test_parser_raises_validation_error_if_no_roster_text(self):
     roster = self.create_roster_from_file('anz_test_roster.txt', 'ANZ')
     roster.roster_text = ''
     roster.save()
     with self.assertRaises(ValidationError):
         roster_processor_factory(roster)
Example #7
0
 def test_parser_does_not_return_roster_field_that_doesnt_exist(self):
     roster = self.create_roster_from_file('anz_test_roster.txt', 'ANZ')
     roster_processor = roster_processor_factory(roster)
     roster_fields = roster_processor.get_roster_fields('invalid_field')
     self.assertIsNone(roster_fields.get('invalid_field'), None)
     self.assertIsNone(roster_fields.get('base'), None)
Example #8
0
 def test_factory_returns_airline_processor(self):
     roster = self.create_roster_from_file('anz_test_roster.txt', 'ANZ')
     roster_processor = roster_processor_factory(roster)
     self.assertIn('anz', inspect.getfile(roster_processor.__class__))
     self.assertNotIn('wrong airline', inspect.getfile(roster_processor.__class__))