def test_get_choices_no_queryset(self): """ Make sure that we reproduce the empty-state edge case of the parent class's version """ serializer = SlugRelatedFieldWithReadSerializer( slug_field='uuid', read_only=True, read_serializer=ProgramSerializer()) assert serializer.get_queryset() is None assert serializer.get_choices() == {}
def test_get_choices_cutoff(self): """ We should slice the queryset if provided a cutoff parameter """ ProgramFactory() ProgramFactory() serializer = SlugRelatedFieldWithReadSerializer(slug_field='uuid', queryset=Program.objects.all(), read_serializer=ProgramSerializer()) self.assertEqual(len(serializer.get_choices()), 2) self.assertEqual(len(serializer.get_choices(cutoff=1)), 1)
def test_to_representation(self): """ Should be using provided serializer, rather than the slug """ program = ProgramFactory() serializer = SlugRelatedFieldWithReadSerializer( slug_field='uuid', queryset=Program.objects.all(), read_serializer=ProgramSerializer()) assert isinstance(serializer.to_representation(program), dict)