Example #1
0
    def test_primary_program(self):
        """Some trip programs always use the same icon."""
        mrp_trip = factories.TripFactory.build(
            trip_type=enums.TripType.TRAD_CLIMBING.value,
            program=enums.Program.SCHOOL_OF_ROCK.value,
        )
        self.assertEqual(icons.fa_icon_for_trip(mrp_trip), 'school')

        service_trip = factories.TripFactory.build(
            trip_type=enums.TripType.HIKING.value,
            program=enums.Program.SERVICE.value)
        self.assertEqual(icons.fa_icon_for_trip(service_trip), 'hands-helping')
Example #2
0
    def test_special_trip_types(self):
        """Most trip types have their own custom icon."""
        ice_trip = factories.TripFactory.build(
            trip_type=enums.TripType.ICE_CLIMBING.value,
            program=enums.Program.WINTER_SCHOOL.value,
        )
        self.assertEqual(icons.fa_icon_for_trip(ice_trip), 'icicles')

        ultimate_trip = factories.TripFactory.build(
            name="Ultimate Pickup",
            trip_type=enums.TripType.ULTIMATE.value,
            program=enums.Program.NONE.value,
        )
        self.assertEqual(icons.fa_icon_for_trip(ultimate_trip), 'compact-disc')
Example #3
0
    def test_no_known_icon(self):
        """We don't always have an icon for the program/trip type combo."""
        other_trip = factories.TripFactory.build(
            trip_type=enums.TripType.OTHER.value,
            program=enums.Program.NONE.value)

        self.assertEqual(icons.fa_icon_for_trip(other_trip), '')
Example #4
0
    def test_every_program_has_an_icon(self):
        """Each specific program has a corresponding icon."""
        # Specifically, we enumerate each program in the mapping
        self.assertCountEqual(enums.Program, icons.ICON_BY_PROGRAM)

        # Test the public interface, though
        for program in enums.Program:
            trip = factories.TripFactory.build(
                trip_type=enums.TripType.NONE.value, program=program.value)

            icon = icons.fa_icon_for_trip(trip)
            if trip.program_enum == enums.Program.NONE:
                self.assertEqual(icon, '')
            else:
                self.assertTrue(icon)
Example #5
0
 def test_fall_back_on_program(self):
     """When lacking an icon for the trip type, we can fall back on program."""
     circus_trip = factories.TripFactory.build(
         trip_type=enums.TripType.NONE.value,
         program=enums.Program.CIRCUS.value)
     self.assertEqual(icons.fa_icon_for_trip(circus_trip), 'users')