feat(): Pluralized props for list readonly link (#14190)

* feat(): Pluralized props for list readonly link

* Create perfect-jeans-end.md

* handle backward compat

* Add tests case
This commit is contained in:
Adrien de Peretti
2025-12-10 19:38:06 +01:00
committed by GitHub
parent bca145bdbe
commit fd3965974d
3 changed files with 102 additions and 15 deletions

View File

@@ -627,6 +627,67 @@ medusaIntegrationTestRunner({
],
})
})
it("should generate a read-only link definition with pluralized alias when isList is true", async () => {
const currencyLinks = CurrencyModule.linkable
const regionLinks = RegionModule.linkable
defineLink(
{
linkable: currencyLinks.currency,
field: "region_id",
},
{
linkable: regionLinks.region,
},
{
readOnly: true,
isList: true,
}
)
const linkDefinition = MedusaModule.getCustomLinks()
.map((linkDefinition: any) => {
const definition = linkDefinition(
MedusaModule.getAllJoinerConfigs()
)
return definition.isReadOnlyLink && definition
})
.filter(Boolean)[0]
expect(linkDefinition).toEqual({
isLink: true,
isReadOnlyLink: true,
extends: [
{
serviceName: "currency",
entity: "Currency",
fieldAlias: undefined,
relationship: {
serviceName: "region",
entity: "Region",
primaryKey: "id",
foreignKey: "region_id",
alias: "region",
isList: true,
},
},
{
serviceName: "currency",
entity: "Currency",
fieldAlias: undefined,
relationship: {
serviceName: "region",
entity: "Region",
primaryKey: "id",
foreignKey: "region_id",
alias: "regions",
isList: true,
},
},
],
})
})
})
},
})