From 22a0149192eb826c7d48be599cbc4ef3ca16e387 Mon Sep 17 00:00:00 2001 From: Dane Pilcher Date: Wed, 10 Apr 2024 11:33:30 -0600 Subject: [PATCH] test: add second ref test schema --- .../src/__tests__/build-app-android.test.ts | 25 +++++++++++++++++++ .../src/__tests__/build-app-swift.test.ts | 25 +++++++++++++++++++ .../src/__tests__/build-app-ts.test.ts | 25 +++++++++++++++++++ 3 files changed, 75 insertions(+) diff --git a/packages/amplify-codegen-e2e-tests/src/__tests__/build-app-android.test.ts b/packages/amplify-codegen-e2e-tests/src/__tests__/build-app-android.test.ts index 0cce17fd8..25de660b7 100644 --- a/packages/amplify-codegen-e2e-tests/src/__tests__/build-app-android.test.ts +++ b/packages/amplify-codegen-e2e-tests/src/__tests__/build-app-android.test.ts @@ -103,6 +103,31 @@ describe('build app - Android', () => { `, }, ], + [ + 'references-with-sort-key', + { + description: '@hasMany using references and @primaryKey using sortKeyFields', + transformerVersion: TransformerVersion.v2, + supportedPlatforms: TransformerPlatform.all, + sdl: ` + type Primary @model { + tenantId: ID! @primaryKey(sortKeyFields: ["instanceId", "recordId"]) + instanceId: ID! + recordId: ID! + content: String + related: [Related!] @hasMany(references: ["primaryTenantId", "primaryInstanceId", "primaryRecordId"]) + } + + type Related @model { + content: String + primaryTenantId: ID! + primaryInstanceId: ID! + primaryRecordId: ID! + primary: Primary @belongsTo(references: ["primaryTenantId", "primaryInstanceId", "primaryRecordId"]) + } + `, + }, + ], ]).forEach(([schemaName, schema]) => { // @ts-ignore const testName = `builds with ${schemaName}: ${schema.description}`; diff --git a/packages/amplify-codegen-e2e-tests/src/__tests__/build-app-swift.test.ts b/packages/amplify-codegen-e2e-tests/src/__tests__/build-app-swift.test.ts index d3aac9d0c..a180ee949 100644 --- a/packages/amplify-codegen-e2e-tests/src/__tests__/build-app-swift.test.ts +++ b/packages/amplify-codegen-e2e-tests/src/__tests__/build-app-swift.test.ts @@ -114,6 +114,31 @@ describe('build app - Swift', () => { `, }, ], + [ + 'references-with-sort-key', + { + description: '@hasMany using references and @primaryKey using sortKeyFields', + transformerVersion: TransformerVersion.v2, + supportedPlatforms: TransformerPlatform.all, + sdl: ` + type Primary @model { + tenantId: ID! @primaryKey(sortKeyFields: ["instanceId", "recordId"]) + instanceId: ID! + recordId: ID! + content: String + related: [Related!] @hasMany(references: ["primaryTenantId", "primaryInstanceId", "primaryRecordId"]) + } + + type Related @model { + content: String + primaryTenantId: ID! + primaryInstanceId: ID! + primaryRecordId: ID! + primary: Primary @belongsTo(references: ["primaryTenantId", "primaryInstanceId", "primaryRecordId"]) + } + `, + }, + ], ]).forEach(([schemaName, schema]) => { // @ts-ignore const testName = `builds with ${schemaName}: ${schema.description}`; diff --git a/packages/amplify-codegen-e2e-tests/src/__tests__/build-app-ts.test.ts b/packages/amplify-codegen-e2e-tests/src/__tests__/build-app-ts.test.ts index a4eff43f0..7ca5032ae 100644 --- a/packages/amplify-codegen-e2e-tests/src/__tests__/build-app-ts.test.ts +++ b/packages/amplify-codegen-e2e-tests/src/__tests__/build-app-ts.test.ts @@ -93,6 +93,31 @@ describe('build app - JS', () => { `, }, ], + [ + 'references-with-sort-key', + { + description: '@hasMany using references and @primaryKey using sortKeyFields', + transformerVersion: TransformerVersion.v2, + supportedPlatforms: TransformerPlatform.all, + sdl: ` + type Primary @model { + tenantId: ID! @primaryKey(sortKeyFields: ["instanceId", "recordId"]) + instanceId: ID! + recordId: ID! + content: String + related: [Related!] @hasMany(references: ["primaryTenantId", "primaryInstanceId", "primaryRecordId"]) + } + + type Related @model { + content: String + primaryTenantId: ID! + primaryInstanceId: ID! + primaryRecordId: ID! + primary: Primary @belongsTo(references: ["primaryTenantId", "primaryInstanceId", "primaryRecordId"]) + } + `, + }, + ], ]).forEach(([schemaName, schema]) => { const testName = `builds with ${schemaName}: ${(schema as any).description}`; const testFunction = async () => {