UNPKG

2.11 kBtext/coffeescriptView Raw
1{BaseModel} = require '../lib/BaseModel'
2{BaseTypedModel} = require '../lib/BaseTypedModel'
3helper = require './helper'
4
5
6describe "backbone integration",->
7
8 beforeEach ->
9 console.log "==========running new test( #{@suite.description} - #{@description} )=========="
10
11 afterEach ->
12 helper.envCleaup()
13
14 it "registers on updates", (done)->
15
16 class T extends BaseModel
17
18 good = false
19 helper.getServerInstance (c)->
20 {
21 read : (params, id, cb)->
22 good = true
23 expect(id).toEqual(8)
24 cb(null, {something : "other"})
25 }
26
27 sioc = helper.getClientInstance()
28 t = new T(sioc, {id: 8})
29 t.registerSync {}, (err)->
30 expect(err).toBeFalsy()
31 expect(good).toBeTruthy()
32
33 t.on "change:something",->
34 expect(t.get("something")).toEqual("other")
35 done()
36
37
38 it "checks also typed model",->
39 class T extends BaseTypedModel
40
41 good = false
42 helper.getServerInstance (c)->
43 {
44 read : (params, id, cb)->
45 good = true
46 expect(id).toEqual(8)
47 cb(null, {something : "other"})
48 }
49
50 sioc = helper.getClientInstance()
51 t = new T(sioc, {id: 8})
52 t.registerSync {}, (err)->
53 expect(err).toBeFalsy()
54 expect(good).toBeTruthy()
55
56 t.on "change:something",->
57 expect(t.get("something")).toEqual("other")
58 done()
59
60
61 it "receives an update!", (done)->
62
63 class T2 extends BaseModel
64
65 server = helper.getServerInstance (c)->
66 {
67 read : (params, id, cb)->
68 expect(id).toEqual(8)
69 cb(null, {something : "other"})
70 update : (params, id, value, cb)->
71 cb(null)
72 }
73
74 sioc = helper.getClientInstance()
75 sioc2 = helper.getClientInstance(true)
76
77 t1 = new T2(sioc, {id: 8})
78 t2 = new T2(sioc2, {id: 8})
79
80 t1.registerSync {}, ()->
81 t2.registerSync {}, ()->
82 t1.set {"something": "other other"}
83 t1.save()
84
85
86 t2.on "change:something",->
87 if t2.get("something") is "other other"
88 expect(t2.get("something")).toEqual("other other")
89 done()
90
91 it "throws when first parameter is not a socket.io client",->
92
93 class Bad extends BaseModel
94
95 good = false
96 try Bad({imnot: "sioc"})
97 catch err
98 good = true
99
100 expect(good).toBeTruthy()
101
102
103
104
105
106
107
108
\No newline at end of file