MCPcopy
hub / github.com/CapSoftware/Cap / startRecording

Function startRecording

apps/chrome-extension/e2e/recording-upload.spec.ts:532–568  ·  view source on GitHub ↗
(
	context: BrowserContext,
	worker: Awaited<ReturnType<typeof getServiceWorker>>,
	apiBaseUrl: string,
)

Source from the content-addressed store, hash-verified

530};
531
532const startRecording = async (
533 context: BrowserContext,
534 worker: Awaited<ReturnType<typeof getServiceWorker>>,
535 apiBaseUrl: string,
536) => {
537 await configureExtension(worker, apiBaseUrl);
538 const messengerPage = await openExtensionMessengerPage(context, worker);
539 const capturePage = await context.newPage();
540 await capturePage.goto(`${apiBaseUrl}/capture.html`);
541 await capturePage.bringToFront();
542
543 const startResponse = await sendServiceWorkerMessage(messengerPage, {
544 target: "service-worker",
545 type: "start-recording",
546 mode: RECORDING_MODE,
547 });
548 if (!startResponse.ok) {
549 throw new Error(startResponse.error);
550 }
551
552 await expect
553 .poll(async () => {
554 const response = await sendServiceWorkerMessage(messengerPage, {
555 target: "service-worker",
556 type: "get-recording-status",
557 });
558 if (!response.ok) return response.error;
559 return response.status?.phase;
560 })
561 .toBe("recording");
562
563 await capturePage.waitForTimeout(RECORDING_MS);
564 return {
565 capturePage,
566 messengerPage,
567 };
568};
569
570test.describe("extension recording upload", () => {
571 let mockServer: Awaited<ReturnType<typeof createMockCapServer>> | null = null;

Callers 1

Calls 3

configureExtensionFunction · 0.70
sendServiceWorkerMessageFunction · 0.70

Tested by

no test coverage detected