import { expect, type Locator, type Page } from '@playwright/test';
import { InsuranceBasePage } from './InsuranceBasePage';
import { step } from 'framework/localTypes/Step';

export class PolicyInfoSubmittedPage extends InsuranceBasePage {
    readonly page: Page;
    readonly policyInfoMessage: Locator;

    constructor(page: Page) {
        super(page);
        this.page = page;
        this.policyInfoMessage = this.page.getByRole('heading', { name: 'Your policy and vehicle' });
    }

    async verifyPolicyInfoSubmitted(): Promise<void> {
        await expect(this.policyInfoMessage).toBeVisible();
        const policyInfoMessage = await this.policyInfoMessage.textContent();
        expect(policyInfoMessage).toBe("Your policy and vehicle information has been submitted for coverage verification")
    }

    @step("PolicyInfoSubmittedPage >> Verify policy info submitted: ")
    async handlePolicyInfoSubmittedPage() {
        await this.verifyPolicyInfoSubmitted();
        await this.nextPage();
    }
}