forked from instructure/canvas-lms
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathPublishIconViewSpec.coffee
More file actions
75 lines (63 loc) · 2.52 KB
/
Copy pathPublishIconViewSpec.coffee
File metadata and controls
75 lines (63 loc) · 2.52 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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
#
# 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/views/PublishIconView'
'jquery'
'helpers/jquery.simulate'
], (Backbone, PublishIconView, $) ->
QUnit.module 'PublishIconView',
setup: ->
@publishable = class Publishable extends Backbone.Model
defaults:
'published': false
'publishable': true
publish: ->
@set("published", true)
$.Deferred().resolve()
unpublish: ->
@set("published", false)
$.Deferred().resolve()
disabledMessage: ->
"can't unpublish"
@publish = new Publishable(published: false, unpublishable: true)
@published = new Publishable(published: true, unpublishable: true)
@disabled = new Publishable(published: true, unpublishable: false)
# initialize
test 'initialize publish', ->
btnView = new PublishIconView(model: @publish).render()
ok btnView.isPublish()
equal btnView.$text.html().match(/Publish/).length, 1
ok !btnView.$text.html().match(/Published/)
test 'initialize publish adds tooltip', ->
btnView = new PublishIconView(model: @publish).render()
equal btnView.$el.attr("data-tooltip"), ""
test 'initialize published', ->
btnView = new PublishIconView(model: @published).render()
ok btnView.isPublished()
equal btnView.$text.html().match(/Published/).length, 1
test 'initialize published adds tooltip', ->
btnView = new PublishIconView(model: @published).render()
equal btnView.$el.attr("data-tooltip"), ""
test 'initialize disabled published', ->
btnView = new PublishIconView(model: @disabled).render()
ok btnView.isPublished()
ok btnView.isDisabled()
equal btnView.$text.html().match(/Published/).length, 1
test 'initialize disabled adds tooltip', ->
btnView = new PublishIconView(model: @disabled).render()
equal btnView.$el.attr("data-tooltip"), ""