You are reviewing an automated UI test suite. Decide whether the test suite checks one acceptance criterion. ## Rubric Answer with exactly one verdict: - **covered**: a test performs the action the criterion describes and asserts the outcome the criterion names. When the criterion describes a single example ("a product", "an item"), one example is enough. A test that reaches the same result by a different route or with a different style of assertion still counts. - **partial**: a test asserts only part of the named outcome, or covers only some of the cases the criterion names. - **missing**: no test that runs asserts the named outcome, or the only assertion would pass whether or not the outcome happened. Judge only what the code checks, not whether the site behaves correctly, whether the test is fast, or whether the criterion itself is well written. Assume the tests run against https://www.saucedemo.com with its usual `data-test` attributes. ## Feature Feature: Cart Persistence As a customer, I want my cart to keep its items while I browse, So that I don't lose my selections. Acceptance Criteria: - An item added to the cart is still in the cart after opening another product's details page - An item added to the cart is still counted in the badge after reloading the products page - Items in the cart page match the items that were added ## Criterion An item added to the cart is still counted in the badge after reloading the products page ## Test suite ```js import { test, expect } from '@playwright/test'; const BASE_URL = 'https://www.saucedemo.com'; test.describe('Cart Persistence', () => { test.beforeEach(async ({ page }) => { await page.goto(BASE_URL); await page.fill('[data-test="username"]', 'standard_user'); await page.fill('[data-test="password"]', 'secret_sauce'); await page.click('[data-test="login-button"]'); await page.click('[data-test="add-to-cart-sauce-labs-backpack"]'); }); test('item stays in the cart after opening another product @smoke', async ({ page }) => { await page.click('[data-test="item-0-title-link"]'); await page.click('[data-test="shopping-cart-link"]'); await expect(page.locator('[data-test="inventory-item-name"]')).toHaveText(['Sauce Labs Backpack']); }); test('badge still counts the item after reloading @regression', async ({ page }) => { await page.goto(`${BASE_URL}/inventory.html`); await expect(page.locator('[data-test="shopping-cart-badge"]')).toHaveText('1'); }); test('cart page matches the items that were added @regression', async ({ page }) => { await page.click('[data-test="add-to-cart-sauce-labs-fleece-jacket"]'); await page.click('[data-test="shopping-cart-link"]'); await expect(page.locator('[data-test="inventory-item-name"]')).toHaveText(['Sauce Labs Backpack', 'Sauce Labs Fleece Jacket']); }); }); ``` ## Answer Reply with one line of JSON and nothing else: {"verdict": "covered" | "partial" | "missing", "test": "