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: Checkout Complete As a customer, I want to place my order, So that I get a confirmation and an empty cart. Acceptance Criteria: - Clicking Finish on the overview shows the "Checkout: Complete!" page - The page shows the heading "Thank you for your order!" - After finishing, the cart badge is no longer shown - Clicking "Back Home" returns to the products page ## Criterion After finishing, the cart badge is no longer shown ## Test suite ```js import { test, expect } from '@playwright/test'; const BASE_URL = 'https://www.saucedemo.com'; test.describe('Checkout Complete', () => { 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"]'); await page.click('[data-test="shopping-cart-link"]'); await page.click('[data-test="checkout"]'); await page.fill('[data-test="firstName"]', 'Ana'); await page.fill('[data-test="lastName"]', 'Silva'); await page.fill('[data-test="postalCode"]', 'L1S 2A1'); await page.click('[data-test="continue"]'); await page.click('[data-test="finish"]'); }); test('finishing shows the Checkout: Complete! page @smoke', async ({ page }) => { await expect(page.locator('[data-test="title"]')).toHaveText('Checkout: Complete!'); }); test('thank-you heading is shown @regression', async ({ page }) => { await expect(page.locator('[data-test="complete-header"]')).toHaveText('Thank you for your order!'); }); test('cart badge is cleared after finishing @regression', async ({ page }) => { await expect(page.locator('[data-test="shopping-cart-badge"]')).toHaveCount(0); }); test('back home returns to the products page @regression', async ({ page }) => { await page.click('[data-test="back-to-products"]'); await expect(page).toHaveURL(/inventory\.html/); }); }); ``` ## Answer Reply with one line of JSON and nothing else: {"verdict": "covered" | "partial" | "missing", "test": "", "reason": "<one sentence>"}