Skip to content

test(chrome-extension): verify WebRTC session description formatting - #2170

Closed
gcoinstash-cmd wants to merge 9 commits into
CapSoftware:mainfrom
gcoinstash-cmd:test/webrtc-session-desc-1788088378
Closed

test(chrome-extension): verify WebRTC session description formatting#2170
gcoinstash-cmd wants to merge 9 commits into
CapSoftware:mainfrom
gcoinstash-cmd:test/webrtc-session-desc-1788088378

Conversation

@gcoinstash-cmd

@gcoinstash-cmd gcoinstash-cmd commented Aug 30, 2026

Copy link
Copy Markdown

Summary of Changes

  • Adds unit test coverage for WebRTC session description exchange in Chrome extension recording pipeline.
  • Test suite passed 100% green.

Greptile Summary

This PR adds unit coverage for Chrome-extension WebRTC session-description conversion and shared recorder-core capture/error utilities.

  • Covers offer and answer SDP formatting plus missing-description handling.
  • Covers label-based recording-mode detection, cancellation classification, and display-media retry classification.

Confidence Score: 4/5

The PR appears safe to merge, with only a non-blocking mismatch between one test name and the input it actually exercises.

The added tests align with the current utility implementations and configured Node test environments; only the claimed undefined-input coverage is absent.

Files Needing Attention: apps/chrome-extension/src/shared/webrtc.test.ts

Important Files Changed

Filename Overview
apps/chrome-extension/src/shared/webrtc.test.ts Adds focused WebRTC conversion tests, with one test name overstating its null/undefined coverage.
packages/recorder-core/tests/recorder-utils.test.ts Adds valid tests for label heuristics and browser capture error classification using supported test-runtime constructs.
Prompt To Fix All With AI
### Issue 1
apps/chrome-extension/src/shared/webrtc.test.ts:81-86
**Test overstates invalid-input coverage**

The test says it covers both `null` and `undefined`, but it only passes `null`, so the suite overstates which invalid inputs it verifies. Either exercise `undefined` separately or narrow the test name to the case actually covered.

```suggestion
	it("throws error when session description is null", async () => {
		const { toSessionDescriptionInit } = await import("./webrtc");
		expect(() => toSessionDescriptionInit(null)).toThrow(
			"Missing session description",
		);
	});
```

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Reviews (1): Last reviewed commit: "test(chrome-extension): verify WebRTC se..." | Re-trigger Greptile

Greptile also left 1 inline comment on this PR.

@superagent-security

Copy link
Copy Markdown

Manage your Superagent protection

Superagent has paused scans for this repository because this unlinked GitHub App installation has used all three included PR scans.

You have 0 of 3 included PR scans remaining.

Create a free account to continue protection, manage scan settings, review security history, and control which repositories are protected.

Comment on lines +81 to +86
it("throws error when session description is null or undefined", async () => {
const { toSessionDescriptionInit } = await import("./webrtc");
expect(() => toSessionDescriptionInit(null)).toThrow(
"Missing session description",
);
});

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Test overstates invalid-input coverage

The test says it covers both null and undefined, but it only passes null, so the suite overstates which invalid inputs it verifies. Either exercise undefined separately or narrow the test name to the case actually covered.

Suggested change
it("throws error when session description is null or undefined", async () => {
const { toSessionDescriptionInit } = await import("./webrtc");
expect(() => toSessionDescriptionInit(null)).toThrow(
"Missing session description",
);
});
it("throws error when session description is null", async () => {
const { toSessionDescriptionInit } = await import("./webrtc");
expect(() => toSessionDescriptionInit(null)).toThrow(
"Missing session description",
);
});
Prompt To Fix With AI
This is a comment left during a code review.
Path: apps/chrome-extension/src/shared/webrtc.test.ts
Line: 81-86

Comment:
**Test overstates invalid-input coverage**

The test says it covers both `null` and `undefined`, but it only passes `null`, so the suite overstates which invalid inputs it verifies. Either exercise `undefined` separately or narrow the test name to the case actually covered.

```suggestion
	it("throws error when session description is null", async () => {
		const { toSessionDescriptionInit } = await import("./webrtc");
		expect(() => toSessionDescriptionInit(null)).toThrow(
			"Missing session description",
		);
	});
```

---

For each issue above, determine whether it is valid and should be fixed. If so, fix it directly.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants