Skip to content

Commit

Permalink
Add lacked tests
Browse files Browse the repository at this point in the history
  • Loading branch information
yhatt committed Sep 23, 2024
1 parent fe17a32 commit 357e32f
Show file tree
Hide file tree
Showing 2 changed files with 67 additions and 0 deletions.
56 changes: 56 additions & 0 deletions test/browser/manager.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
import { browserManager, BrowserManager } from '../../src/browser/manager'
import { ChromeBrowser } from '../../src/browser/browsers/chrome'

describe('browserManager static instance', () => {
it('is an instance of BrowserManager', () => {
expect(browserManager).toBeInstanceOf(BrowserManager)
})
})

describe('BrowserManager class', () => {
describe('#register', () => {
it('registers a browser', () => {
const previewBrowser = new ChromeBrowser({ purpose: 'preview' })
const convertBrowser = new ChromeBrowser({ purpose: 'convert' })
const manager = new BrowserManager()

expect(manager.findBy({ browser: previewBrowser })).toBeUndefined()
expect(manager.findBy({ browser: convertBrowser })).toBeUndefined()

manager.register(convertBrowser)
expect(manager.findBy({ browser: previewBrowser })).toBeUndefined()
expect(manager.findBy({ browser: convertBrowser })).toBe(convertBrowser)

manager.register(previewBrowser)
expect(manager.findBy({ browser: previewBrowser })).toBe(previewBrowser)
expect(manager.findBy({ browser: convertBrowser })).toBe(convertBrowser)
})
})

describe('#findBy', () => {
it('finds a browser by query', () => {
const browser = new ChromeBrowser({ purpose: 'convert' })
const manager = new BrowserManager()

manager.register(browser)

// Find by instance
expect(manager.findBy({ browser })).toBe(browser)
expect(
manager.findBy({ browser: new ChromeBrowser({ purpose: 'preview' }) })
).toBeUndefined()

// Find by kind
expect(manager.findBy({ kind: 'chrome' })).toBe(browser)
expect(manager.findBy({ kind: 'firefox' })).toBeUndefined()

// Find by protocol
expect(manager.findBy({ protocol: 'webdriver-bidi' })).toBe(browser)
expect(manager.findBy({ protocol: 'cdp' })).toBeUndefined()

// Find by purpose
expect(manager.findBy({ purpose: 'convert' })).toBe(browser)
expect(manager.findBy({ purpose: 'preview' })).toBeUndefined()
})
})
})
11 changes: 11 additions & 0 deletions test/utils/wsl.ts
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,17 @@ describe('#isWSL', () => {
expect(await wsl().isWSL()).toBe(2)
expect(readFile).toHaveBeenCalledTimes(1)
})

it('returns 1 if throing an error while checking WSL 2', async () => {
jest.doMock('is-wsl', () => true)

const readFile = jest
.spyOn(fs.promises, 'readFile')
.mockRejectedValue(new Error('Failed to read file'))

expect(await wsl().isWSL()).toBe(1)
expect(readFile).toHaveBeenCalledTimes(1)
})
})

describe('#isChromeInWSLHost', () => {
Expand Down

0 comments on commit 357e32f

Please sign in to comment.