Start front end test example
This commit is contained in:
0
test/backend/.gitkeep
Normal file
0
test/backend/.gitkeep
Normal file
0
test/frontend/.gitkeep
Normal file
0
test/frontend/.gitkeep
Normal file
43
test/frontend/module_routing.spec.js
Normal file
43
test/frontend/module_routing.spec.js
Normal file
@@ -0,0 +1,43 @@
|
||||
import { expect } from 'chai'
|
||||
import sinon from 'sinon'
|
||||
import {router} from '../../frontend/src/module/routing'
|
||||
|
||||
// Since we're testing code meant for the browser, not node, mock this
|
||||
global.window = global
|
||||
|
||||
describe('the html5 history router', function() {
|
||||
it('should be a functional class', function() {
|
||||
expect(router).to.exist
|
||||
})
|
||||
|
||||
it('should use the global base path', function() {
|
||||
global.APP_BASE_PATH = 'testing-1-2-3'
|
||||
expect(router.base_path).to.be.equal('testing-1-2-3')
|
||||
})
|
||||
|
||||
it('should navigate using the History API', function() {
|
||||
const args = { test: 123 }
|
||||
|
||||
// mock this history API
|
||||
global.history = {
|
||||
pushState: sinon.spy()
|
||||
}
|
||||
|
||||
router.navigate('some-path', args)
|
||||
expect(global.history.pushState.calledOnce).to.be.true
|
||||
expect(global.history.pushState.getCall(0).args[1]).to.be.equal('some-path')
|
||||
expect(router.route_args).to.be.equal(args)
|
||||
})
|
||||
|
||||
it('should call subscribers on navigate', function() {
|
||||
const handler = sinon.spy()
|
||||
const args = { test: 123 }
|
||||
|
||||
router.subscribe(handler)
|
||||
router.navigate('some-other-path', args)
|
||||
|
||||
expect(handler.calledOnce).to.be.true
|
||||
expect(handler.getCall(0).args[0]).to.be.equal('some-other-path')
|
||||
expect(handler.getCall(0).args[1]).to.be.equal(args)
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user