-
Notifications
You must be signed in to change notification settings - Fork 76
/
service.spec.coffee
30 lines (25 loc) · 941 Bytes
/
service.spec.coffee
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
###
Behavioral Tests for Lipsum Service
###
Service = require "../lib/service"
http = require "http"
describe "The lipsum service", ->
lipsumService = new Service()
defaultFormat = "json"
callback = -> {}
stubOutHTTP = ->
spyOn(http, 'request').andCallThrough()
it "should build an endpoint given a format and a callback", ->
stubOutHTTP()
lipsumService.get(defaultFormat, callback)
expect(http.request.mostRecentCall.args[0]).toEqual(
"http://lipsum.lipsum.com/feed/json")
it "should be able to accept different query params", ->
stubOutHTTP()
lipsumService.get(defaultFormat, callback, {amount: 2, what: "paras"})
expect(http.request.mostRecentCall.args[0]).toEqual(
"http://lipsum.lipsum.com/feed/json?amount=2&what=paras")
it "should be able to accept a callback that gets a payload", ->
runs ->
fooFunction = createSpy()
lipsumService.get("xml", fooFunction)