diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 3b286e5a..81f6dc20 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -12,7 +12,6 @@ jobs:
lint:
name: lint
runs-on: ubuntu-latest
-
steps:
- uses: actions/checkout@v4
@@ -33,7 +32,6 @@ jobs:
test:
name: test
runs-on: ubuntu-latest
-
steps:
- uses: actions/checkout@v4
diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index 511722b9..ba231b07 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "1.20.1"
+ ".": "1.21.0"
}
\ No newline at end of file
diff --git a/.stats.yml b/.stats.yml
index a45a587e..f9cf330b 100644
--- a/.stats.yml
+++ b/.stats.yml
@@ -1,4 +1,4 @@
configured_endpoints: 46
-openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch%2Ffinch-14d375aab89e6b212fe459805a42d6ea7d7da8eae2037ae710a187d06911be1d.yml
-openapi_spec_hash: 08b86ecbec3323717d48e4aaee48ed54
-config_hash: ce10384813f68ba3fed61c7b601b396b
+openapi_spec_url: https://storage.googleapis.com/stainless-sdk-openapi-specs/finch%2Ffinch-bf858f37d7ab420841ddc6329dad8c46377308b6a5c8e935908011d0f9845e22.yml
+openapi_spec_hash: 2523952a32436e3c7fd3b55508c2e7ee
+config_hash: 53778a0b839c4f6ad34fbba051f5e8a6
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 356b6ee9..2db87fef 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,5 +1,23 @@
# Changelog
+## 1.21.0 (2025-04-09)
+
+Full Changelog: [v1.20.1...v1.21.0](https://github.com/Finch-API/finch-api-python/compare/v1.20.1...v1.21.0)
+
+### Features
+
+* **api:** add models for hrs benefits individuals async responses ([6452c2c](https://github.com/Finch-API/finch-api-python/commit/6452c2ce11111b2eba1c2cb941ccd32fdd1c5a82))
+* **api:** api update ([#646](https://github.com/Finch-API/finch-api-python/issues/646)) ([7ac8751](https://github.com/Finch-API/finch-api-python/commit/7ac875106bdcfb8bfb097b971f48ecd88d06c26a))
+* **api:** benefits mutation API endpoints (create benefit, update benefit, enroll individual, unenroll individual) now properly return async response types ([#649](https://github.com/Finch-API/finch-api-python/issues/649)) ([4109f6c](https://github.com/Finch-API/finch-api-python/commit/4109f6cd3a880cab1e7ca9d90d8a29cf0ce737f4))
+
+
+### Chores
+
+* fix typo ([8772010](https://github.com/Finch-API/finch-api-python/commit/8772010e01df66a41bae7b5689bf7af20f2c0411))
+* fix typo ([#650](https://github.com/Finch-API/finch-api-python/issues/650)) ([17dc2ea](https://github.com/Finch-API/finch-api-python/commit/17dc2ea50995d6883ad07a77a4c039a8c097253f))
+* **internal:** expand CI branch coverage ([#648](https://github.com/Finch-API/finch-api-python/issues/648)) ([bc6c22d](https://github.com/Finch-API/finch-api-python/commit/bc6c22d497fe8bb886e34095b01016904fe8258d))
+* **internal:** reduce CI branch coverage ([bad1202](https://github.com/Finch-API/finch-api-python/commit/bad1202ad8b8e73fb4ae4c8624405997c2ad33e2))
+
## 1.20.1 (2025-04-08)
Full Changelog: [v1.20.0...v1.20.1](https://github.com/Finch-API/finch-api-python/compare/v1.20.0...v1.20.1)
diff --git a/api.md b/api.md
index 13b455d8..1e750c7c 100644
--- a/api.md
+++ b/api.md
@@ -170,6 +170,7 @@ from finch.types.hris import (
SupportPerBenefitType,
SupportedBenefit,
UpdateCompanyBenefitResponse,
+ BenefitListSupportedBenefitsResponse,
BenfitContribution,
)
```
@@ -180,7 +181,7 @@ Methods:
- client.hris.benefits.retrieve(benefit_id) -> CompanyBenefit
- client.hris.benefits.update(benefit_id, \*\*params) -> UpdateCompanyBenefitResponse
- client.hris.benefits.list() -> SyncSinglePage[CompanyBenefit]
-- client.hris.benefits.list_supported_benefits() -> SyncSinglePage[SupportedBenefit]
+- client.hris.benefits.list_supported_benefits() -> SyncSinglePage[BenefitListSupportedBenefitsResponse]
### Individuals
@@ -188,19 +189,19 @@ Types:
```python
from finch.types.hris.benefits import (
- EnrolledIndividual,
+ EnrolledIndividualBenefitResponse,
IndividualBenefit,
- UnenrolledIndividual,
+ UnenrolledIndividualBenefitResponse,
IndividualEnrolledIDsResponse,
)
```
Methods:
-- client.hris.benefits.individuals.enroll_many(benefit_id, \*\*params) -> SyncSinglePage[EnrolledIndividual]
+- client.hris.benefits.individuals.enroll_many(benefit_id, \*\*params) -> EnrolledIndividualBenefitResponse
- client.hris.benefits.individuals.enrolled_ids(benefit_id) -> IndividualEnrolledIDsResponse
- client.hris.benefits.individuals.retrieve_many_benefits(benefit_id, \*\*params) -> SyncSinglePage[IndividualBenefit]
-- client.hris.benefits.individuals.unenroll_many(benefit_id, \*\*params) -> SyncSinglePage[UnenrolledIndividual]
+- client.hris.benefits.individuals.unenroll_many(benefit_id, \*\*params) -> UnenrolledIndividualBenefitResponse
# Providers
diff --git a/pyproject.toml b/pyproject.toml
index 7506addc..0080f7bf 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -1,6 +1,6 @@
[project]
name = "finch-api"
-version = "1.20.1"
+version = "1.21.0"
description = "The official Python library for the Finch API"
dynamic = ["readme"]
license = "Apache-2.0"
diff --git a/src/finch/_version.py b/src/finch/_version.py
index 15f2237e..4bdbe1a5 100644
--- a/src/finch/_version.py
+++ b/src/finch/_version.py
@@ -1,4 +1,4 @@
# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
__title__ = "finch"
-__version__ = "1.20.1" # x-release-please-version
+__version__ = "1.21.0" # x-release-please-version
diff --git a/src/finch/resources/hris/benefits/benefits.py b/src/finch/resources/hris/benefits/benefits.py
index cc24e7e1..28fc3a75 100644
--- a/src/finch/resources/hris/benefits/benefits.py
+++ b/src/finch/resources/hris/benefits/benefits.py
@@ -29,9 +29,9 @@
from ....types.hris.benefit_type import BenefitType
from ....types.hris.company_benefit import CompanyBenefit
from ....types.hris.benefit_frequency import BenefitFrequency
-from ....types.hris.supported_benefit import SupportedBenefit
from ....types.hris.update_company_benefit_response import UpdateCompanyBenefitResponse
from ....types.hris.create_company_benefits_response import CreateCompanyBenefitsResponse
+from ....types.hris.benefit_list_supported_benefits_response import BenefitListSupportedBenefitsResponse
__all__ = ["Benefits", "AsyncBenefits"]
@@ -210,15 +210,15 @@ def list_supported_benefits(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
- ) -> SyncSinglePage[SupportedBenefit]:
+ ) -> SyncSinglePage[BenefitListSupportedBenefitsResponse]:
"""Get deductions metadata"""
return self._get_api_list(
"/employer/benefits/meta",
- page=SyncSinglePage[SupportedBenefit],
+ page=SyncSinglePage[BenefitListSupportedBenefitsResponse],
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
- model=SupportedBenefit,
+ model=BenefitListSupportedBenefitsResponse,
)
@@ -396,15 +396,15 @@ def list_supported_benefits(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
- ) -> AsyncPaginator[SupportedBenefit, AsyncSinglePage[SupportedBenefit]]:
+ ) -> AsyncPaginator[BenefitListSupportedBenefitsResponse, AsyncSinglePage[BenefitListSupportedBenefitsResponse]]:
"""Get deductions metadata"""
return self._get_api_list(
"/employer/benefits/meta",
- page=AsyncSinglePage[SupportedBenefit],
+ page=AsyncSinglePage[BenefitListSupportedBenefitsResponse],
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
- model=SupportedBenefit,
+ model=BenefitListSupportedBenefitsResponse,
)
diff --git a/src/finch/resources/hris/benefits/individuals.py b/src/finch/resources/hris/benefits/individuals.py
index c6e472cf..604f867d 100644
--- a/src/finch/resources/hris/benefits/individuals.py
+++ b/src/finch/resources/hris/benefits/individuals.py
@@ -8,7 +8,10 @@
from .... import _legacy_response
from ...._types import NOT_GIVEN, Body, Query, Headers, NotGiven
-from ...._utils import maybe_transform
+from ...._utils import (
+ maybe_transform,
+ async_maybe_transform,
+)
from ...._compat import cached_property
from ...._resource import SyncAPIResource, AsyncAPIResource
from ...._response import to_streamed_response_wrapper, async_to_streamed_response_wrapper
@@ -20,9 +23,9 @@
individual_retrieve_many_benefits_params,
)
from ....types.hris.benefits.individual_benefit import IndividualBenefit
-from ....types.hris.benefits.enrolled_individual import EnrolledIndividual
-from ....types.hris.benefits.unenrolled_individual import UnenrolledIndividual
from ....types.hris.benefits.individual_enrolled_ids_response import IndividualEnrolledIDsResponse
+from ....types.hris.benefits.enrolled_individual_benefit_response import EnrolledIndividualBenefitResponse
+from ....types.hris.benefits.unenrolled_individual_benefit_response import UnenrolledIndividualBenefitResponse
__all__ = ["Individuals", "AsyncIndividuals"]
@@ -58,7 +61,7 @@ def enroll_many(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
- ) -> SyncSinglePage[EnrolledIndividual]:
+ ) -> EnrolledIndividualBenefitResponse:
"""Enroll an individual into a deduction or contribution.
This is an overwrite
@@ -79,15 +82,13 @@ def enroll_many(
"""
if not benefit_id:
raise ValueError(f"Expected a non-empty value for `benefit_id` but received {benefit_id!r}")
- return self._get_api_list(
+ return self._post(
f"/employer/benefits/{benefit_id}/individuals",
- page=SyncSinglePage[EnrolledIndividual],
body=maybe_transform(individuals, Iterable[individual_enroll_many_params.Individual]),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
- model=EnrolledIndividual,
- method="post",
+ cast_to=EnrolledIndividualBenefitResponse,
)
def enrolled_ids(
@@ -179,7 +180,7 @@ def unenroll_many(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
- ) -> SyncSinglePage[UnenrolledIndividual]:
+ ) -> UnenrolledIndividualBenefitResponse:
"""
Unenroll individuals from a deduction or contribution
@@ -196,17 +197,15 @@ def unenroll_many(
"""
if not benefit_id:
raise ValueError(f"Expected a non-empty value for `benefit_id` but received {benefit_id!r}")
- return self._get_api_list(
+ return self._delete(
f"/employer/benefits/{benefit_id}/individuals",
- page=SyncSinglePage[UnenrolledIndividual],
body=maybe_transform(
{"individual_ids": individual_ids}, individual_unenroll_many_params.IndividualUnenrollManyParams
),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
- model=UnenrolledIndividual,
- method="delete",
+ cast_to=UnenrolledIndividualBenefitResponse,
)
@@ -230,7 +229,7 @@ def with_streaming_response(self) -> AsyncIndividualsWithStreamingResponse:
"""
return AsyncIndividualsWithStreamingResponse(self)
- def enroll_many(
+ async def enroll_many(
self,
benefit_id: str,
*,
@@ -241,7 +240,7 @@ def enroll_many(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
- ) -> AsyncPaginator[EnrolledIndividual, AsyncSinglePage[EnrolledIndividual]]:
+ ) -> EnrolledIndividualBenefitResponse:
"""Enroll an individual into a deduction or contribution.
This is an overwrite
@@ -262,15 +261,13 @@ def enroll_many(
"""
if not benefit_id:
raise ValueError(f"Expected a non-empty value for `benefit_id` but received {benefit_id!r}")
- return self._get_api_list(
+ return await self._post(
f"/employer/benefits/{benefit_id}/individuals",
- page=AsyncSinglePage[EnrolledIndividual],
- body=maybe_transform(individuals, Iterable[individual_enroll_many_params.Individual]),
+ body=await async_maybe_transform(individuals, Iterable[individual_enroll_many_params.Individual]),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
- model=EnrolledIndividual,
- method="post",
+ cast_to=EnrolledIndividualBenefitResponse,
)
async def enrolled_ids(
@@ -351,7 +348,7 @@ def retrieve_many_benefits(
model=IndividualBenefit,
)
- def unenroll_many(
+ async def unenroll_many(
self,
benefit_id: str,
*,
@@ -362,7 +359,7 @@ def unenroll_many(
extra_query: Query | None = None,
extra_body: Body | None = None,
timeout: float | httpx.Timeout | None | NotGiven = NOT_GIVEN,
- ) -> AsyncPaginator[UnenrolledIndividual, AsyncSinglePage[UnenrolledIndividual]]:
+ ) -> UnenrolledIndividualBenefitResponse:
"""
Unenroll individuals from a deduction or contribution
@@ -379,17 +376,15 @@ def unenroll_many(
"""
if not benefit_id:
raise ValueError(f"Expected a non-empty value for `benefit_id` but received {benefit_id!r}")
- return self._get_api_list(
+ return await self._delete(
f"/employer/benefits/{benefit_id}/individuals",
- page=AsyncSinglePage[UnenrolledIndividual],
- body=maybe_transform(
+ body=await async_maybe_transform(
{"individual_ids": individual_ids}, individual_unenroll_many_params.IndividualUnenrollManyParams
),
options=make_request_options(
extra_headers=extra_headers, extra_query=extra_query, extra_body=extra_body, timeout=timeout
),
- model=UnenrolledIndividual,
- method="delete",
+ cast_to=UnenrolledIndividualBenefitResponse,
)
diff --git a/src/finch/types/hris/__init__.py b/src/finch/types/hris/__init__.py
index 40744f3e..4f9edc30 100644
--- a/src/finch/types/hris/__init__.py
+++ b/src/finch/types/hris/__init__.py
@@ -14,7 +14,6 @@
from .benefits_support import BenefitsSupport as BenefitsSupport
from .benefit_frequency import BenefitFrequency as BenefitFrequency
from .document_response import DocumentResponse as DocumentResponse
-from .supported_benefit import SupportedBenefit as SupportedBenefit
from .benfit_contribution import BenfitContribution as BenfitContribution
from .individual_response import IndividualResponse as IndividualResponse
from .payment_list_params import PaymentListParams as PaymentListParams
@@ -37,3 +36,6 @@
from .create_company_benefits_response import CreateCompanyBenefitsResponse as CreateCompanyBenefitsResponse
from .directory_list_individuals_params import DirectoryListIndividualsParams as DirectoryListIndividualsParams
from .pay_statement_retrieve_many_params import PayStatementRetrieveManyParams as PayStatementRetrieveManyParams
+from .benefit_list_supported_benefits_response import (
+ BenefitListSupportedBenefitsResponse as BenefitListSupportedBenefitsResponse,
+)
diff --git a/src/finch/types/hris/supported_benefit.py b/src/finch/types/hris/benefit_list_supported_benefits_response.py
similarity index 88%
rename from src/finch/types/hris/supported_benefit.py
rename to src/finch/types/hris/benefit_list_supported_benefits_response.py
index ef148ffa..e29b2b7f 100644
--- a/src/finch/types/hris/supported_benefit.py
+++ b/src/finch/types/hris/benefit_list_supported_benefits_response.py
@@ -4,13 +4,12 @@
from typing_extensions import Literal
from ..._models import BaseModel
-from .benefit_type import BenefitType
from .benefit_frequency import BenefitFrequency
-__all__ = ["SupportedBenefit"]
+__all__ = ["BenefitListSupportedBenefitsResponse"]
-class SupportedBenefit(BaseModel):
+class BenefitListSupportedBenefitsResponse(BaseModel):
annual_maximum: Optional[bool] = None
"""Whether the provider supports an annual maximum for this benefit."""
@@ -43,6 +42,3 @@ class SupportedBenefit(BaseModel):
Empty if this feature is not supported for the benefit. This array only has
values for HSA benefits.
"""
-
- type: Optional[BenefitType] = None
- """Type of benefit."""
diff --git a/src/finch/types/hris/benefits/__init__.py b/src/finch/types/hris/benefits/__init__.py
index 4cca9ced..90057bb2 100644
--- a/src/finch/types/hris/benefits/__init__.py
+++ b/src/finch/types/hris/benefits/__init__.py
@@ -3,11 +3,13 @@
from __future__ import annotations
from .individual_benefit import IndividualBenefit as IndividualBenefit
-from .enrolled_individual import EnrolledIndividual as EnrolledIndividual
-from .unenrolled_individual import UnenrolledIndividual as UnenrolledIndividual
from .individual_enroll_many_params import IndividualEnrollManyParams as IndividualEnrollManyParams
from .individual_unenroll_many_params import IndividualUnenrollManyParams as IndividualUnenrollManyParams
from .individual_enrolled_ids_response import IndividualEnrolledIDsResponse as IndividualEnrolledIDsResponse
+from .enrolled_individual_benefit_response import EnrolledIndividualBenefitResponse as EnrolledIndividualBenefitResponse
+from .unenrolled_individual_benefit_response import (
+ UnenrolledIndividualBenefitResponse as UnenrolledIndividualBenefitResponse,
+)
from .individual_retrieve_many_benefits_params import (
IndividualRetrieveManyBenefitsParams as IndividualRetrieveManyBenefitsParams,
)
diff --git a/src/finch/types/hris/benefits/enrolled_individual.py b/src/finch/types/hris/benefits/enrolled_individual.py
deleted file mode 100644
index c8d6f912..00000000
--- a/src/finch/types/hris/benefits/enrolled_individual.py
+++ /dev/null
@@ -1,28 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from typing import Optional
-from typing_extensions import Literal
-
-from ...._models import BaseModel
-
-__all__ = ["EnrolledIndividual", "Body"]
-
-
-class Body(BaseModel):
- finch_code: Optional[str] = None
- """A descriptive identifier for the response."""
-
- message: Optional[str] = None
- """Short description in English that provides more information about the response."""
-
- name: Optional[str] = None
- """Identifier indicating whether the benefit was newly enrolled or updated."""
-
-
-class EnrolledIndividual(BaseModel):
- body: Optional[Body] = None
-
- code: Optional[Literal[200, 201, 404, 403]] = None
- """HTTP status code. Either 201 or 200"""
-
- individual_id: Optional[str] = None
diff --git a/src/finch/types/hris/benefits/enrolled_individual_benefit_response.py b/src/finch/types/hris/benefits/enrolled_individual_benefit_response.py
new file mode 100644
index 00000000..0b42e9b4
--- /dev/null
+++ b/src/finch/types/hris/benefits/enrolled_individual_benefit_response.py
@@ -0,0 +1,10 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+
+from ...._models import BaseModel
+
+__all__ = ["EnrolledIndividualBenefitResponse"]
+
+
+class EnrolledIndividualBenefitResponse(BaseModel):
+ job_id: str
diff --git a/src/finch/types/hris/benefits/unenrolled_individual.py b/src/finch/types/hris/benefits/unenrolled_individual.py
deleted file mode 100644
index d9f10497..00000000
--- a/src/finch/types/hris/benefits/unenrolled_individual.py
+++ /dev/null
@@ -1,27 +0,0 @@
-# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
-
-from typing import Optional
-
-from ...._models import BaseModel
-
-__all__ = ["UnenrolledIndividual", "Body"]
-
-
-class Body(BaseModel):
- finch_code: Optional[str] = None
- """A descriptive identifier for the response."""
-
- message: Optional[str] = None
- """Short description in English that provides more information about the response."""
-
- name: Optional[str] = None
- """Identifier indicating whether the benefit was newly enrolled or updated."""
-
-
-class UnenrolledIndividual(BaseModel):
- body: Optional[Body] = None
-
- code: Optional[int] = None
- """HTTP status code"""
-
- individual_id: Optional[str] = None
diff --git a/src/finch/types/hris/benefits/unenrolled_individual_benefit_response.py b/src/finch/types/hris/benefits/unenrolled_individual_benefit_response.py
new file mode 100644
index 00000000..aa539f3f
--- /dev/null
+++ b/src/finch/types/hris/benefits/unenrolled_individual_benefit_response.py
@@ -0,0 +1,10 @@
+# File generated from our OpenAPI spec by Stainless. See CONTRIBUTING.md for details.
+
+
+from ...._models import BaseModel
+
+__all__ = ["UnenrolledIndividualBenefitResponse"]
+
+
+class UnenrolledIndividualBenefitResponse(BaseModel):
+ job_id: str
diff --git a/src/finch/types/hris/create_company_benefits_response.py b/src/finch/types/hris/create_company_benefits_response.py
index e96088af..092bf5c9 100644
--- a/src/finch/types/hris/create_company_benefits_response.py
+++ b/src/finch/types/hris/create_company_benefits_response.py
@@ -9,3 +9,5 @@
class CreateCompanyBenefitsResponse(BaseModel):
benefit_id: str
"""The id of the benefit."""
+
+ job_id: str
diff --git a/src/finch/types/hris/update_company_benefit_response.py b/src/finch/types/hris/update_company_benefit_response.py
index 865b10d6..8f6506e3 100644
--- a/src/finch/types/hris/update_company_benefit_response.py
+++ b/src/finch/types/hris/update_company_benefit_response.py
@@ -9,3 +9,5 @@
class UpdateCompanyBenefitResponse(BaseModel):
benefit_id: str
"""The id of the benefit."""
+
+ job_id: str
diff --git a/tests/api_resources/hris/benefits/test_individuals.py b/tests/api_resources/hris/benefits/test_individuals.py
index d8677fa1..0800ed21 100644
--- a/tests/api_resources/hris/benefits/test_individuals.py
+++ b/tests/api_resources/hris/benefits/test_individuals.py
@@ -13,9 +13,9 @@
from finch.pagination import SyncSinglePage, AsyncSinglePage
from finch.types.hris.benefits import (
IndividualBenefit,
- EnrolledIndividual,
- UnenrolledIndividual,
IndividualEnrolledIDsResponse,
+ EnrolledIndividualBenefitResponse,
+ UnenrolledIndividualBenefitResponse,
)
base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
@@ -29,7 +29,7 @@ def test_method_enroll_many(self, client: Finch) -> None:
individual = client.hris.benefits.individuals.enroll_many(
benefit_id="benefit_id",
)
- assert_matches_type(SyncSinglePage[EnrolledIndividual], individual, path=["response"])
+ assert_matches_type(EnrolledIndividualBenefitResponse, individual, path=["response"])
@parametrize
def test_method_enroll_many_with_all_params(self, client: Finch) -> None:
@@ -55,7 +55,7 @@ def test_method_enroll_many_with_all_params(self, client: Finch) -> None:
}
],
)
- assert_matches_type(SyncSinglePage[EnrolledIndividual], individual, path=["response"])
+ assert_matches_type(EnrolledIndividualBenefitResponse, individual, path=["response"])
@parametrize
def test_raw_response_enroll_many(self, client: Finch) -> None:
@@ -66,7 +66,7 @@ def test_raw_response_enroll_many(self, client: Finch) -> None:
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
individual = response.parse()
- assert_matches_type(SyncSinglePage[EnrolledIndividual], individual, path=["response"])
+ assert_matches_type(EnrolledIndividualBenefitResponse, individual, path=["response"])
@parametrize
def test_streaming_response_enroll_many(self, client: Finch) -> None:
@@ -77,7 +77,7 @@ def test_streaming_response_enroll_many(self, client: Finch) -> None:
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
individual = response.parse()
- assert_matches_type(SyncSinglePage[EnrolledIndividual], individual, path=["response"])
+ assert_matches_type(EnrolledIndividualBenefitResponse, individual, path=["response"])
assert cast(Any, response.is_closed) is True
@@ -177,7 +177,7 @@ def test_method_unenroll_many(self, client: Finch) -> None:
individual = client.hris.benefits.individuals.unenroll_many(
benefit_id="benefit_id",
)
- assert_matches_type(SyncSinglePage[UnenrolledIndividual], individual, path=["response"])
+ assert_matches_type(UnenrolledIndividualBenefitResponse, individual, path=["response"])
@parametrize
def test_method_unenroll_many_with_all_params(self, client: Finch) -> None:
@@ -185,7 +185,7 @@ def test_method_unenroll_many_with_all_params(self, client: Finch) -> None:
benefit_id="benefit_id",
individual_ids=["string"],
)
- assert_matches_type(SyncSinglePage[UnenrolledIndividual], individual, path=["response"])
+ assert_matches_type(UnenrolledIndividualBenefitResponse, individual, path=["response"])
@parametrize
def test_raw_response_unenroll_many(self, client: Finch) -> None:
@@ -196,7 +196,7 @@ def test_raw_response_unenroll_many(self, client: Finch) -> None:
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
individual = response.parse()
- assert_matches_type(SyncSinglePage[UnenrolledIndividual], individual, path=["response"])
+ assert_matches_type(UnenrolledIndividualBenefitResponse, individual, path=["response"])
@parametrize
def test_streaming_response_unenroll_many(self, client: Finch) -> None:
@@ -207,7 +207,7 @@ def test_streaming_response_unenroll_many(self, client: Finch) -> None:
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
individual = response.parse()
- assert_matches_type(SyncSinglePage[UnenrolledIndividual], individual, path=["response"])
+ assert_matches_type(UnenrolledIndividualBenefitResponse, individual, path=["response"])
assert cast(Any, response.is_closed) is True
@@ -227,7 +227,7 @@ async def test_method_enroll_many(self, async_client: AsyncFinch) -> None:
individual = await async_client.hris.benefits.individuals.enroll_many(
benefit_id="benefit_id",
)
- assert_matches_type(AsyncSinglePage[EnrolledIndividual], individual, path=["response"])
+ assert_matches_type(EnrolledIndividualBenefitResponse, individual, path=["response"])
@parametrize
async def test_method_enroll_many_with_all_params(self, async_client: AsyncFinch) -> None:
@@ -253,7 +253,7 @@ async def test_method_enroll_many_with_all_params(self, async_client: AsyncFinch
}
],
)
- assert_matches_type(AsyncSinglePage[EnrolledIndividual], individual, path=["response"])
+ assert_matches_type(EnrolledIndividualBenefitResponse, individual, path=["response"])
@parametrize
async def test_raw_response_enroll_many(self, async_client: AsyncFinch) -> None:
@@ -264,7 +264,7 @@ async def test_raw_response_enroll_many(self, async_client: AsyncFinch) -> None:
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
individual = response.parse()
- assert_matches_type(AsyncSinglePage[EnrolledIndividual], individual, path=["response"])
+ assert_matches_type(EnrolledIndividualBenefitResponse, individual, path=["response"])
@parametrize
async def test_streaming_response_enroll_many(self, async_client: AsyncFinch) -> None:
@@ -275,7 +275,7 @@ async def test_streaming_response_enroll_many(self, async_client: AsyncFinch) ->
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
individual = await response.parse()
- assert_matches_type(AsyncSinglePage[EnrolledIndividual], individual, path=["response"])
+ assert_matches_type(EnrolledIndividualBenefitResponse, individual, path=["response"])
assert cast(Any, response.is_closed) is True
@@ -375,7 +375,7 @@ async def test_method_unenroll_many(self, async_client: AsyncFinch) -> None:
individual = await async_client.hris.benefits.individuals.unenroll_many(
benefit_id="benefit_id",
)
- assert_matches_type(AsyncSinglePage[UnenrolledIndividual], individual, path=["response"])
+ assert_matches_type(UnenrolledIndividualBenefitResponse, individual, path=["response"])
@parametrize
async def test_method_unenroll_many_with_all_params(self, async_client: AsyncFinch) -> None:
@@ -383,7 +383,7 @@ async def test_method_unenroll_many_with_all_params(self, async_client: AsyncFin
benefit_id="benefit_id",
individual_ids=["string"],
)
- assert_matches_type(AsyncSinglePage[UnenrolledIndividual], individual, path=["response"])
+ assert_matches_type(UnenrolledIndividualBenefitResponse, individual, path=["response"])
@parametrize
async def test_raw_response_unenroll_many(self, async_client: AsyncFinch) -> None:
@@ -394,7 +394,7 @@ async def test_raw_response_unenroll_many(self, async_client: AsyncFinch) -> Non
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
individual = response.parse()
- assert_matches_type(AsyncSinglePage[UnenrolledIndividual], individual, path=["response"])
+ assert_matches_type(UnenrolledIndividualBenefitResponse, individual, path=["response"])
@parametrize
async def test_streaming_response_unenroll_many(self, async_client: AsyncFinch) -> None:
@@ -405,7 +405,7 @@ async def test_streaming_response_unenroll_many(self, async_client: AsyncFinch)
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
individual = await response.parse()
- assert_matches_type(AsyncSinglePage[UnenrolledIndividual], individual, path=["response"])
+ assert_matches_type(UnenrolledIndividualBenefitResponse, individual, path=["response"])
assert cast(Any, response.is_closed) is True
diff --git a/tests/api_resources/hris/test_benefits.py b/tests/api_resources/hris/test_benefits.py
index ce1adced..8d6507f9 100644
--- a/tests/api_resources/hris/test_benefits.py
+++ b/tests/api_resources/hris/test_benefits.py
@@ -12,9 +12,9 @@
from finch.pagination import SyncSinglePage, AsyncSinglePage
from finch.types.hris import (
CompanyBenefit,
- SupportedBenefit,
UpdateCompanyBenefitResponse,
CreateCompanyBenefitsResponse,
+ BenefitListSupportedBenefitsResponse,
)
base_url = os.environ.get("TEST_API_BASE_URL", "http://127.0.0.1:4010")
@@ -169,7 +169,7 @@ def test_streaming_response_list(self, client: Finch) -> None:
@parametrize
def test_method_list_supported_benefits(self, client: Finch) -> None:
benefit = client.hris.benefits.list_supported_benefits()
- assert_matches_type(SyncSinglePage[SupportedBenefit], benefit, path=["response"])
+ assert_matches_type(SyncSinglePage[BenefitListSupportedBenefitsResponse], benefit, path=["response"])
@parametrize
def test_raw_response_list_supported_benefits(self, client: Finch) -> None:
@@ -178,7 +178,7 @@ def test_raw_response_list_supported_benefits(self, client: Finch) -> None:
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
benefit = response.parse()
- assert_matches_type(SyncSinglePage[SupportedBenefit], benefit, path=["response"])
+ assert_matches_type(SyncSinglePage[BenefitListSupportedBenefitsResponse], benefit, path=["response"])
@parametrize
def test_streaming_response_list_supported_benefits(self, client: Finch) -> None:
@@ -187,7 +187,7 @@ def test_streaming_response_list_supported_benefits(self, client: Finch) -> None
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
benefit = response.parse()
- assert_matches_type(SyncSinglePage[SupportedBenefit], benefit, path=["response"])
+ assert_matches_type(SyncSinglePage[BenefitListSupportedBenefitsResponse], benefit, path=["response"])
assert cast(Any, response.is_closed) is True
@@ -341,7 +341,7 @@ async def test_streaming_response_list(self, async_client: AsyncFinch) -> None:
@parametrize
async def test_method_list_supported_benefits(self, async_client: AsyncFinch) -> None:
benefit = await async_client.hris.benefits.list_supported_benefits()
- assert_matches_type(AsyncSinglePage[SupportedBenefit], benefit, path=["response"])
+ assert_matches_type(AsyncSinglePage[BenefitListSupportedBenefitsResponse], benefit, path=["response"])
@parametrize
async def test_raw_response_list_supported_benefits(self, async_client: AsyncFinch) -> None:
@@ -350,7 +350,7 @@ async def test_raw_response_list_supported_benefits(self, async_client: AsyncFin
assert response.is_closed is True
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
benefit = response.parse()
- assert_matches_type(AsyncSinglePage[SupportedBenefit], benefit, path=["response"])
+ assert_matches_type(AsyncSinglePage[BenefitListSupportedBenefitsResponse], benefit, path=["response"])
@parametrize
async def test_streaming_response_list_supported_benefits(self, async_client: AsyncFinch) -> None:
@@ -359,6 +359,6 @@ async def test_streaming_response_list_supported_benefits(self, async_client: As
assert response.http_request.headers.get("X-Stainless-Lang") == "python"
benefit = await response.parse()
- assert_matches_type(AsyncSinglePage[SupportedBenefit], benefit, path=["response"])
+ assert_matches_type(AsyncSinglePage[BenefitListSupportedBenefitsResponse], benefit, path=["response"])
assert cast(Any, response.is_closed) is True