G7 증명과 G8 clean-head 승격 준비
This commit is contained in:
parent
94c681d450
commit
5221f79e3f
52 changed files with 6876 additions and 506 deletions
|
|
@ -432,6 +432,24 @@ async function routeMvpApi(page: Page, options: RouteMvpOptions = {}) {
|
|||
});
|
||||
});
|
||||
|
||||
await page.route(
|
||||
`**/api/sessions/${sessionId}/multimodal-alliance/consent`,
|
||||
async (route) => {
|
||||
const consentBody = route.request().postDataJSON() as Record<string, unknown>;
|
||||
await route.fulfill({
|
||||
status: 201,
|
||||
contentType: "application/json",
|
||||
body: JSON.stringify({
|
||||
submission_id: consentBody.submission_id,
|
||||
consent_snapshot_id: "00000000-0000-4000-8000-000000000777",
|
||||
consent_status: "granted",
|
||||
deletion_request_id: null,
|
||||
idempotent_replay: false,
|
||||
}),
|
||||
});
|
||||
},
|
||||
);
|
||||
|
||||
return {
|
||||
sessionStartRequests,
|
||||
liveCoachRequests,
|
||||
|
|
@ -444,6 +462,15 @@ async function routeMvpApi(page: Page, options: RouteMvpOptions = {}) {
|
|||
};
|
||||
}
|
||||
|
||||
async function acceptVoiceInputConsent(page: Page) {
|
||||
const consentDialog = page.getByRole("dialog", { name: "음성 입력을 사용하기 전에" });
|
||||
await expect(consentDialog).toBeVisible();
|
||||
await expect(consentDialog).toContainText("원음은 보존하지 않습니다");
|
||||
await expect(consentDialog).toContainText("동의하지 않아도 텍스트로 계속할 수 있습니다");
|
||||
await consentDialog.getByRole("button", { name: "동의하고 마이크 켜기" }).click();
|
||||
await expect(consentDialog).toHaveCount(0);
|
||||
}
|
||||
|
||||
async function installVoicePersistenceFailureFixture(page: Page, transcriptText: string) {
|
||||
await page.addInitScript((text) => {
|
||||
const fixture = {
|
||||
|
|
@ -1370,6 +1397,7 @@ test.describe("P1 MVP core loop", () => {
|
|||
const micButton = page.getByRole("button", { name: "마이크 켜기" });
|
||||
await expect(micButton).toBeEnabled();
|
||||
await micButton.click();
|
||||
await acceptVoiceInputConsent(page);
|
||||
await page.getByRole("button", { name: "발화 보내기" }).click();
|
||||
|
||||
const learnerBubble = page.locator(".sx-utt.is-learner").filter({ hasText: failedVoiceText });
|
||||
|
|
@ -1410,6 +1438,7 @@ test.describe("P1 MVP core loop", () => {
|
|||
await page.getByRole("button", { name: "이어가기" }).click();
|
||||
|
||||
await page.getByRole("button", { name: "마이크 켜기" }).click();
|
||||
await acceptVoiceInputConsent(page);
|
||||
await page.getByRole("button", { name: "발화 보내기" }).click();
|
||||
|
||||
const transcriptLog = page.getByRole("log", { name: "실시간 상담 축어록" });
|
||||
|
|
@ -1494,6 +1523,7 @@ test.describe("P1 MVP core loop", () => {
|
|||
const micButton = page.getByRole("button", { name: "마이크 켜기" });
|
||||
await expect(micButton).toBeEnabled();
|
||||
await micButton.click();
|
||||
await acceptVoiceInputConsent(page);
|
||||
await page.getByRole("button", { name: "발화 보내기" }).click();
|
||||
|
||||
const learnerBubble = page.locator(".sx-utt.is-learner").filter({ hasText: crisisText });
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue