Example #1
0
def test_user_list_serializer_none_data() -> None:
    serializer = UserListSerializer(data=None)
    assert not serializer.is_valid()
    assert serializer.validated_data == {}
    assert serializer.data == {}
    assert "non_field_errors" in serializer.errors
    assert serializer.errors["non_field_errors"][0].code == "null"
Example #2
0
def test_user_list_serializer_valid() -> None:
    input_data = {
        "first_name": "Karol",
        "last_name": "Guzikowski",
    }
    serializer = UserListSerializer(data=input_data)
    assert serializer.is_valid()
    assert serializer.validated_data == input_data
    assert serializer.data == input_data
Example #3
0
def test_user_list_serializer_not_valid_missing_field() -> None:
    input_data = {
        "last_name": "Guzikowski",
    }
    serializer = UserListSerializer(data=input_data)
    assert not serializer.is_valid()
    assert serializer.validated_data == {}
    assert serializer.data == input_data
    assert "first_name" in serializer.errors
    assert serializer.errors["first_name"][0].code == "required"
Example #4
0
class CompanyUpdateSerializer(serializers.ModelSerializer):
    """Serializer used when we want to update Company."""

    localizations = AddressSerializer(many=True, required=False, write_only=True)
    roles = RoleSerializer(many=True, required=False, write_only=True)
    staff = EmployeeSerializer(many=True, required=False, write_only=True)
    owners = UserListSerializer(many=True, required=False, write_only=True)

    class Meta:
        model = Company
        fields = [
            "status",
            "name",
            "short_name",
            "description",
            "profile_image",
            "owners",
            "staff",
            "roles",
            "localizations",
            "nip",
        ]
        extra_kwargs = {
            "status": {"required": False, "write_only": True},
            "name": {"required": False, "write_only": True},
            "short_name": {"required": False, "write_only": True},
            "description": {"required": False, "write_only": True},
            "profile_image": {"required": False, "write_only": True},
            "owners": {"required": False, "write_only": True},
            "nip": {"required": False, "write_only": True},
        }
Example #5
0
class CompanyDetailSerializer(serializers.ModelSerializer):
    """Serializer used when we want to get Company details."""

    localizations = AddressSerializer(many=True)
    roles = RoleSerializer(many=True, required=False)
    staff = EmployeeSerializer(many=True, required=False)
    owners = UserListSerializer(many=True, read_only=True)

    # for the creation process
    # a initial owner that creates company
    creator = serializers.IntegerField(write_only=True, required=True)

    class Meta:
        model = Company
        fields = [
            "id",
            "status",
            "name",
            "short_name",
            "description",
            "profile_image",
            "owners",
            "staff",
            "roles",
            "localizations",
            "nip",
            "active",
            "confirmed",
            # for the creation process
            "creator",
        ]
        extra_kwargs = {
            "id": {"required": False, "read_only": True},
            "status": {"required": False},
            "name": {"required": True},
            "short_name": {"required": False},
            "description": {"required": True},
            "profile_image": {"required": False},
            "owners": {"required": True},
            "nip": {"required": True},
            "active": {"read_only": True, "required": False},
            "confirmed": {"read_only": True, "required": False},
        }

    def create(self, validated_data):
        company_data = validated_data
        print(company_data)
        # user = User.objects.create(**validated_data)
        # Profile.objects.create(user=user, **profile_data)
        return None
Example #6
0
class EmployeeSerializer(serializers.ModelSerializer):
    """Serializer for Address model."""

    roles = RoleSerializer(many=True)
    user = UserListSerializer(many=False)

    class Meta:
        model = Employee
        fields = ["user", "roles"]

    def to_representation(self, instance):
        ret = super().to_representation(instance)
        final = {**ret["user"], "roles": ret["roles"]}
        return final
Example #7
0
def test_user_list_serializer_default_data() -> None:
    data = UserListSerializer().data
    assert data["first_name"] == ""
    assert data["last_name"] == ""
    assert data["profile_image"] is None
Example #8
0
def test_user_list_serializer_contains_expected_fields(user: User) -> None:
    serializer = UserListSerializer(user)
    data = set(serializer.fields.keys())
    expected = {"id", "first_name", "last_name", "profile_image"}
    assert data == expected