1 | {BaseModel} = require '../lib/BaseModel'
|
2 | {BaseTypedModel} = require '../lib/BaseTypedModel'
|
3 | helper = require './helper'
|
4 |
|
5 |
|
6 | describe "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 |