forked from instructure/canvas-lms
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathModuleSpec.coffee
More file actions
52 lines (43 loc) · 1.67 KB
/
Copy pathModuleSpec.coffee
File metadata and controls
52 lines (43 loc) · 1.67 KB
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#
# Copyright (C) 2013 - present Instructure, Inc.
#
# This file is part of Canvas.
#
# Canvas is free software: you can redistribute it and/or modify it under
# the terms of the GNU Affero General Public License as published by the Free
# Software Foundation, version 3 of the License.
#
# Canvas is distributed in the hope that it will be useful, but WITHOUT ANY
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
# A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
# details.
#
# You should have received a copy of the GNU Affero General Public License along
# with this program. If not, see <http://www.gnu.org/licenses/>.
define [
'Backbone'
'compiled/models/Module'
'compiled/collections/ModuleItemCollection'
], (Backbone, Module, ModuleItemCollection) ->
QUnit.module 'Module',
setup: ->
@server = sinon.fakeServer.create()
teardown: ->
@server.restore()
test 'should build an itemCollection from items', 2, ->
mod = new Module
id: 3
course_id: 4
items: [{id: 1}, {id: 2}]
ok (mod.itemCollection instanceof ModuleItemCollection), "itemCollection is not built"
equal mod.itemCollection.length, 2, "incorrect item length"
test 'should build an itemCollection and fetch if items are not passed', 1, ->
mod = new Module
id: 3
course_id: 4
ok (mod.itemCollection instanceof ModuleItemCollection), "itemCollection is not built"
mod.itemCollection.fetch success: ->
equal mod.itemCollection.length, 1, "incorrect item length"
@server.respond 'GET', mod.itemCollection.url(), [200, {
'Content-Type': 'application/json'
}, JSON.stringify({id: 2})]