UNPKG

1.48 kBtext/coffeescriptView Raw
1{ipso, tag, mock} = require '../lib/ipso'
2
3
4describe 'Saver', ->
5
6 #
7 # tag an instance of does to tet against
8 #
9
10 before ipso (done, does) -> tag( does1: does() ).then done
11
12
13 #
14 # tag all functions on the save module for direct injection
15 #
16
17 before ipso (done, Saver) -> tag( Saver ).then done
18 #
19 # nice :)
20 #
21
22
23
24 context 'specLocation()', ->
25
26 it 'returns the calling spec location details', ipso (specLocation) ->
27
28 specLocation().should.eql
29
30 fileName: 'saver_spec.coffee'
31 baseName: 'saver'
32 specPath: 'spec'
33
34
35
36 context 'save()', ->
37
38 it 'gets the entity record from does', ipso (does1, save) ->
39
40 does1.does get: (opts) -> opts.should.eql query: tag: 'ModuleName'
41 save 'template', 'ModuleName', does1
42
43
44 context 'with entity', ->
45
46 beforeEach ipso (does1, Saver) ->
47
48 entity = mock 'entity'
49 does1.does get: (args...) -> args.pop() null, entity
50
51 template = mock 'template'
52 Saver.does load: -> template
53
54
55 it 'loads template and passes entity to render', ipso (save, does1, entity, template) ->
56
57
58 template.does render: (e) -> e.is entity
59 save 'templateName', 'ModuleName', does1
60
61