123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- import { setupPuppeteer, E2E_TIMEOUT } from 'test/helpers'
- describe('e2e/cart', () => {
- const { page, text, count, click, sleep } = setupPuppeteer()
- async function testCart (url) {
- await page().goto(url)
- await sleep(120) // api simulation
- expect(await count('li')).toBe(3)
- expect(await count('.cart button[disabled]')).toBe(1)
- expect(await text('li:nth-child(1)')).toContain('iPad 4 Mini')
- expect(await text('.cart')).toContain('Please add some products to cart')
- expect(await text('.cart')).toContain('Total: $0.00')
- await click('li:nth-child(1) button')
- expect(await text('.cart')).toContain('iPad 4 Mini - $500.01 x 1')
- expect(await text('.cart')).toContain('Total: $500.01')
- await click('li:nth-child(1) button')
- expect(await text('.cart')).toContain('iPad 4 Mini - $500.01 x 2')
- expect(await text('.cart')).toContain('Total: $1,000.02')
- expect(await count('li:nth-child(1) button[disabled]')).toBe(1)
- await click('li:nth-child(2) button')
- expect(await text('.cart')).toContain('H&M T-Shirt White - $10.99 x 1')
- expect(await text('.cart')).toContain('Total: $1,011.01')
- await click('.cart button')
- await sleep(200)
- expect(await text('.cart')).toContain('Please add some products to cart')
- expect(await text('.cart')).toContain('Total: $0.00')
- expect(await text('.cart')).toContain('Checkout successful')
- expect(await count('.cart button[disabled]')).toBe(1)
- }
- test('classic', async () => {
- await testCart('http://localhost:8080/classic/shopping-cart/')
- }, E2E_TIMEOUT)
- test('composition', async () => {
- await testCart('http://localhost:8080/composition/shopping-cart/')
- }, E2E_TIMEOUT)
- })
|