Skip to content

Commit 40e4462

Browse files
committed
feat/novos-cenários
1 parent 9c03f50 commit 40e4462

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed

pages/ItensPage.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,9 @@ export class ItensPage {
77
readonly bikeLightAddToCartBtn: Locator;
88
readonly boltTshirtAddToCartBtn: Locator;
99
readonly cartLink: Locator;
10+
readonly removeBackpackButton: Locator;
11+
readonly cartItem: Locator;
12+
readonly backpackInCart: Locator;
1013

1114
constructor(page: Page) {
1215
this.page = page;
@@ -16,11 +19,18 @@ export class ItensPage {
1619
this.bikeLightAddToCartBtn = page.locator('[data-test="add-to-cart-sauce-labs-bike-light"]');
1720
this.boltTshirtAddToCartBtn = page.locator('[data-test="add-to-cart-sauce-labs-bolt-t-shirt"]');
1821
this.cartLink = page.locator('[data-test="shopping-cart-link"]');
22+
this.removeBackpackButton = page.locator('[data-test="remove-sauce-labs-backpack"]');
23+
this.cartItem = page.locator('.cart_item');
24+
this.backpackInCart = page.locator('.cart_item').filter({ hasText: 'Sauce Labs Backpack' });
1925
}
2026

2127
async adicionarBackpackAoCarrinho() {
2228
await this.backpackAddToCartBtn.click();
2329
await this.bikeLightAddToCartBtn.click();
2430
await this.boltTshirtAddToCartBtn.click();
2531
}
32+
33+
async removeBackPack() {
34+
await this.removeBackpackButton.click();
35+
}
2636
}

tests/e2e/itensCarrinho.spec.ts

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import { test, expect } from '@playwright/test';
22
import { LoginPage } from '../../pages/LoginPage';
33
import { ItensPage } from '../../pages/ItensPage';
44

5-
test.describe('Cenários de adicionar itens no Carrinho', () => {
5+
test.describe('Cenários de adicionar e remover itens no Carrinho', () => {
66
test.beforeEach(async ({ page }) => {
77
const loginPage = new LoginPage(page);
88
await loginPage.acessarPagina();
@@ -17,4 +17,19 @@ test.describe('Cenários de adicionar itens no Carrinho', () => {
1717
await expect(item.cartBadge).toHaveText('3');
1818
await expect(page.locator('[data-test="remove-sauce-labs-backpack"]')).toBeVisible();
1919
});
20+
21+
test('Remover item do carrinho e validar a exclusão', async ({ page }) => {
22+
const item = new ItensPage(page);
23+
24+
await item.adicionarBackpackAoCarrinho();
25+
await item.cartLink.click();
26+
27+
await expect(item.backpackInCart).toBeVisible();
28+
29+
await item.removeBackPack();
30+
31+
await expect(item.backpackInCart).not.toBeAttached();
32+
33+
await expect(item.cartBadge).toHaveText('2');
34+
});
2035
});

0 commit comments

Comments
 (0)