Skip to content

Commit

Permalink
Add tests to make sure the cart updates as expected.
Browse files Browse the repository at this point in the history
  • Loading branch information
StevenDufresne committed Jan 21, 2025
1 parent 3d1a8cf commit 4d9913b
Showing 1 changed file with 53 additions and 0 deletions.
53 changes: 53 additions & 0 deletions client/my-sites/checkout/src/test/wp-checkout-order-summary.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -447,4 +447,57 @@ describe( 'WPCheckoutOrderSummary', () => {
} );
} );
} );

describe( 'MemoizedCheckoutSummaryFeaturedList', () => {
test( 'Should update on cart uupdate', async () => {
const firstProduct = convertProductSlugToResponseProduct( PRODUCT_AKISMET_FREE );
const firstProductFeatures = getAkismetProductFeatures(
firstProduct,
identity as translateType
);

const cartChanges = {
products: [ firstProduct ],
cart_generated_at_timestamp: 1737356248,
};

const { rerender } = render(
<QueryClientProvider client={ queryClient }>
<MyCheckoutSummary cartChanges={ cartChanges } />
</QueryClientProvider>
);

await waitFor( () => {
firstProductFeatures.map( ( feature ) => {
expect( screen.queryByText( feature ) ).toBeInTheDocument();
} );
} );

const secondProduct = convertProductSlugToResponseProduct( PRODUCT_JETPACK_BOOST );
const secondProductFeatures = getJetpackProductFeatures(
secondProduct,
identity as translateType
);

const cartChanges_2 = {
products: [ secondProduct ],
cart_generated_at_timestamp: 1737356249,
};

rerender(
<QueryClientProvider client={ queryClient }>
<MyCheckoutSummary cartChanges={ cartChanges_2 } />
</QueryClientProvider>
);

await waitFor( () => {
firstProductFeatures.map( ( feature ) => {
expect( screen.queryByText( feature ) ).not.toBeInTheDocument();
} );
secondProductFeatures.map( ( feature ) => {
expect( screen.queryByText( feature ) ).toBeInTheDocument();
} );
} );
} );
} );
} );

0 comments on commit 4d9913b

Please sign in to comment.