spectron-dialog-addon
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

SpectronDialogAddon

Mock electron dialog and provide return values.

Installation

npm install --save-dev spectron-dialog-addon

Usage

import { Application } from 'spectron'
import * as electron from 'electron'
import * as path from 'path'
import dialogAddon from '../src/index'
import { expect } from 'chai'
 
const app = new Application({
  args: [path.join(__dirname, '.')],
  path: (electron as any) as string
})
dialogAddon.apply(app)
 
describe('mock showOpenDialog', function() {
  this.timeout(10000)
 
  beforeEach(async () => {
    await app.start()
    dialogAddon.mock([{ method: 'showOpenDialog', value: { filePaths: ['faked.txt'] } }])
  })
 
  afterEach(async () => {
    await app.stop()
  })
 
  it('should return faked.txt', async () => {
    await app.client.waitForExist('#show-open-dialog-button')
    await app.client.click('#show-open-dialog-button')
    const text: any = await app.client.getText('#return-value')
    expect(text).to.equal(JSON.stringify(['faked.txt']))
  })
})

API

apply(application: Application)

initialize dialogAddon

mock(params: Array<{ method: string, value: any }>)

NOTE: You must call this after Electron app started.

  • method: dialog module's method name. ex) showOpenDialog, showSaveDialog...
  • value: mocked method return value.

License

MIT

Readme

Keywords

Package Sidebar

Install

npm i spectron-dialog-addon

Weekly Downloads

46

Version

1.0.1

License

MIT

Unpacked Size

6.97 kB

Total Files

11

Last publish

Collaborators

  • davidka