1 | {ipso, tag, mock} = require '../lib/ipso'
|
2 |
|
3 |
|
4 | describe 'Saver', ->
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
10 | before ipso (done, does) -> tag( does1: does() ).then done
|
11 |
|
12 |
|
13 |
|
14 |
|
15 |
|
16 |
|
17 | before ipso (done, Saver) -> tag( Saver ).then done
|
18 |
|
19 |
|
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 |
|