Skip to content

Instantly share code, notes, and snippets.

@ivawzh
Created May 25, 2016 23:33
Show Gist options
  • Save ivawzh/f47c8005e81542af5d1d3b5310ee1e5b to your computer and use it in GitHub Desktop.
Save ivawzh/f47c8005e81542af5d1d3b5310ee1e5b to your computer and use it in GitHub Desktop.
Neither sinon faker server respond nor ajax delays
describe('neither sinon faker server respond nor ajax delays', () => {
let server
beforeEach('set up fake server', () => {
server = sinon.fakeServer.create()
server.respondWith("GET", 'hey/you', [200, { 'Content-Type': 'application/json' }, JSON.stringify({})])
})
afterEach(() => server.restore())
context('when ajax is called', () => {
let result
beforeEach(() => {
ajax('hey/you').then(
() => { result = 'okay' }
)
})
it('ajax adds request to faker server queue', () => {
expect(server.requests[0].url).eq('hey/you')
})
it('does not has result yet', () => {
expect(result).to.not.exist
})
context('when server responds', () => {
beforeEach(() => {
server.respond()
})
it('ajax does receive and process the response immediately', () => {
expect(result).to.eq('okay')
})
it('of course works after waiting for 1ms', done => {
setTimeout(
() => {
expect(result).to.eq('okay')
done()
},
1
)
})
})
})
})
@ivawzh
Copy link
Author

ivawzh commented May 25, 2016

This test passes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment