diff --git a/packages/test-generator/integration-test-templates/cypress/e2e/form/BidirectionalToy-spec.cy.ts b/packages/test-generator/integration-test-templates/cypress/e2e/form/BidirectionalToy-spec.cy.ts index 5ca8a568..975fa7c3 100644 --- a/packages/test-generator/integration-test-templates/cypress/e2e/form/BidirectionalToy-spec.cy.ts +++ b/packages/test-generator/integration-test-templates/cypress/e2e/form/BidirectionalToy-spec.cy.ts @@ -22,17 +22,23 @@ describe('FormTests - DSBidirectionalToy', () => { }); specify('Create Dog - should update toy connection to new dog', () => { + const connectedPhrase1 = 'Toy BiDirectionalDogId is connected to new dog'; + const connectedPhrase2 = 'Toy biDirectionalDogBiDirectionalToysId is connected to new dog'; + cy.get('#DataStoreFormCreateBidirectionalDog').within(() => { + cy.contains(connectedPhrase1).should('not.exist'); + cy.contains(connectedPhrase2).should('not.exist'); + getInputByLabel('Name').type('Spot'); getArrayFieldButtonByLabel('Bi directional toys').click(); - typeInAutocomplete('F{downArrow}{enter}'); + typeInAutocomplete('B{downArrow}{enter}'); clickAddToArray(); cy.contains('Submit').click(); - cy.contains('Toy BiDirectionalDogId is connected to new dog'); - cy.contains('Toy biDirectionalDogBiDirectionalToysId is connected to new dog'); + cy.contains(connectedPhrase1); + cy.contains(connectedPhrase2); }); }); }); diff --git a/packages/test-generator/integration-test-templates/src/FormTests/DSBidirectionalToy.tsx b/packages/test-generator/integration-test-templates/src/FormTests/DSBidirectionalToy.tsx index d5abfc14..882ce34b 100644 --- a/packages/test-generator/integration-test-templates/src/FormTests/DSBidirectionalToy.tsx +++ b/packages/test-generator/integration-test-templates/src/FormTests/DSBidirectionalToy.tsx @@ -56,8 +56,7 @@ export default function DSBidirectionalToy() { } // DataStore.clear() doesn't appear to reliably work in this scenario. indexedDB.deleteDatabase('amplify-datastore'); - const { connectedDog, connectedToy } = await initializeTestData(); - setCreatedDogId(connectedDog.id); + const { connectedToy } = await initializeTestData(); setDogBiDirectionalToyId({ toyBiDirectionalDogIdUpdated: (await connectedToy.BiDirectionalDog).id, biDirectionalDogBiDirectionalToysIdUpdated: connectedToy.biDirectionalDogBiDirectionalToysId, @@ -82,6 +81,13 @@ export default function DSBidirectionalToy() { const results = await DataStore.query(BiDirectionalDog, (dog) => dog.name.eq('Spot')); const createdDogId = results.pop()?.id ?? ''; setCreatedDogId(createdDogId); + const stolenToy = (await DataStore.query(BiDirectionalToy, (toy) => toy.name.eq(toyName))).pop(); + if (stolenToy) { + setDogBiDirectionalToyId({ + toyBiDirectionalDogIdUpdated: (await stolenToy.BiDirectionalDog).id, + biDirectionalDogBiDirectionalToysIdUpdated: stolenToy.biDirectionalDogBiDirectionalToysId, + }); + } }} />