diff --git a/apps/browser/src/platform/browser/browser-api.spec.ts b/apps/browser/src/platform/browser/browser-api.spec.ts index 7e0c61c9d1..adf248707c 100644 --- a/apps/browser/src/platform/browser/browser-api.spec.ts +++ b/apps/browser/src/platform/browser/browser-api.spec.ts @@ -235,6 +235,46 @@ describe("BrowserApi", () => { }); }); + describe("getFrameDetails", () => { + it("returns the frame details of the specified frame", async () => { + const tabId = 1; + const frameId = 2; + const mockFrameDetails = mock(); + chrome.webNavigation.getFrame = jest + .fn() + .mockImplementation((_details, callback) => callback(mockFrameDetails)); + + const returnFrame = await BrowserApi.getFrameDetails({ tabId, frameId }); + + expect(chrome.webNavigation.getFrame).toHaveBeenCalledWith( + { tabId, frameId }, + expect.any(Function), + ); + expect(returnFrame).toEqual(mockFrameDetails); + }); + }); + + describe("getAllFrameDetails", () => { + it("returns all sub frame details of the specified tab", async () => { + const tabId = 1; + const mockFrameDetails1 = mock(); + const mockFrameDetails2 = mock(); + chrome.webNavigation.getAllFrames = jest + .fn() + .mockImplementation((_details, callback) => + callback([mockFrameDetails1, mockFrameDetails2]), + ); + + const frames = await BrowserApi.getAllFrameDetails(tabId); + + expect(chrome.webNavigation.getAllFrames).toHaveBeenCalledWith( + { tabId }, + expect.any(Function), + ); + expect(frames).toEqual([mockFrameDetails1, mockFrameDetails2]); + }); + }); + describe("reloadExtension", () => { it("reloads the window location if the passed globalContext is for the window", () => { const windowMock = mock({