mirror of
https://github.com/Grasscutters/mitmproxy.git
synced 2024-11-25 18:03:50 +00:00
[web] Add coverage for js/urlState.js
This commit is contained in:
parent
b537997f4f
commit
f8b76a62ff
66
web/src/js/__tests__/urlStateSpec.js
Normal file
66
web/src/js/__tests__/urlStateSpec.js
Normal file
@ -0,0 +1,66 @@
|
||||
import initialize from '../urlState'
|
||||
|
||||
import reduceFlows from '../ducks/flows'
|
||||
import reduceUI from '../ducks/ui/index'
|
||||
import reduceEventLog from '../ducks/eventLog'
|
||||
|
||||
import * as flowsAction from '../ducks/flows'
|
||||
import * as uiFlowAction from '../ducks/ui/flow'
|
||||
import * as eventLogAction from '../ducks/eventLog'
|
||||
|
||||
import {createStore} from './ducks/tutils'
|
||||
|
||||
|
||||
describe('test updateStoreFromUrl and updateUrlFromStore', () => {
|
||||
|
||||
let store = createStore({
|
||||
flows: reduceFlows,
|
||||
ui: reduceUI,
|
||||
eventLog: reduceEventLog
|
||||
})
|
||||
|
||||
history.replaceState = jest.fn()
|
||||
|
||||
it('should handle search query', () => {
|
||||
window.location.hash = "#/flows?s=foo"
|
||||
let setFilter = jest.spyOn(flowsAction, 'setFilter')
|
||||
|
||||
initialize(store)
|
||||
expect(setFilter).toBeCalledWith('foo')
|
||||
})
|
||||
|
||||
it('should handle highlight query', () => {
|
||||
window.location.hash = "#/flows?h=foo"
|
||||
let setHighlight = jest.spyOn(flowsAction, 'setHighlight')
|
||||
|
||||
initialize(store)
|
||||
expect(setHighlight).toBeCalledWith('foo')
|
||||
})
|
||||
|
||||
it('should handle show event log', () => {
|
||||
window.location.hash = "#/flows?e=true"
|
||||
let toggleVisibility = jest.spyOn(eventLogAction, 'toggleVisibility')
|
||||
|
||||
initialize(store)
|
||||
expect(toggleVisibility).toHaveBeenCalled()
|
||||
})
|
||||
|
||||
it('should handle unimplemented query argument', () => {
|
||||
window.location.hash = "#/flows?foo=bar"
|
||||
console.error = jest.fn()
|
||||
|
||||
initialize(store)
|
||||
expect(console.error).toBeCalledWith("unimplemented query arg: foo=bar")
|
||||
})
|
||||
|
||||
it('should select flow and tab', () => {
|
||||
window.location.hash = "#/flows/123/request"
|
||||
let select = jest.spyOn(flowsAction, 'select'),
|
||||
selectTab = jest.spyOn(uiFlowAction, 'selectTab')
|
||||
|
||||
initialize(store)
|
||||
expect(select).toBeCalledWith('123')
|
||||
expect(selectTab).toBeCalledWith('request')
|
||||
})
|
||||
|
||||
})
|
Loading…
Reference in New Issue
Block a user