Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
E
edx-platform
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
edx
edx-platform
Commits
255720ab
Commit
255720ab
authored
Oct 31, 2012
by
Calen Pennington
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Clean old javascript tests from CAS
parent
2ca63268
Hide whitespace changes
Inline
Side-by-side
Showing
17 changed files
with
68 additions
and
528 deletions
+68
-528
cms/envs/jasmine.py
+3
-2
cms/static/coffee/spec/main_spec.coffee
+0
-66
cms/static/coffee/spec/models/module_spec.coffee
+1
-72
cms/static/coffee/spec/views/course_spec.coffee
+0
-85
cms/static/coffee/spec/views/module_edit_spec.coffee
+61
-68
cms/static/coffee/spec/views/module_spec.coffee
+0
-24
cms/static/coffee/spec/views/week_edit_spec.coffee
+0
-7
cms/static/coffee/spec/views/week_spec.coffee
+0
-67
cms/static/coffee/src/main.coffee
+0
-26
cms/static/coffee/src/models/new_module.coffee
+0
-5
cms/static/coffee/src/views/course.coffee
+0
-28
cms/static/coffee/src/views/module.coffee
+0
-14
cms/static/coffee/src/views/module_add.coffee
+0
-26
cms/static/coffee/src/views/week.coffee
+0
-32
cms/static/coffee/src/views/week_edit.coffee
+0
-3
lms/envs/jasmine.py
+3
-2
rakefile
+0
-1
No files found.
cms/envs/jasmine.py
View file @
255720ab
...
...
@@ -17,8 +17,9 @@ LOGGING = get_logger_config(TEST_ROOT / "log",
PIPELINE_JS
[
'js-test-source'
]
=
{
'source_filenames'
:
sum
([
pipeline_group
[
'source_filenames'
]
for
pipeline_group
in
PIPELINE_JS
.
values
()
for
group_name
,
pipeline_group
in
PIPELINE_JS
.
items
()
if
group_name
!=
'spec'
],
[]),
'output_filename'
:
'js/cms-test-source.js'
}
...
...
cms/static/coffee/spec/main_spec.coffee
View file @
255720ab
...
...
@@ -8,72 +8,6 @@ describe "CMS", ->
it
"should initialize Views"
,
->
expect
(
CMS
.
Views
).
toBeDefined
()
describe
"start"
,
->
beforeEach
->
@
element
=
$
(
"<div>"
)
spyOn
(
CMS
.
Views
,
"Course"
).
andReturn
(
jasmine
.
createSpyObj
(
"Course"
,
[
"render"
]))
CMS
.
start
(
@
element
)
it
"create the Course"
,
->
expect
(
CMS
.
Views
.
Course
).
toHaveBeenCalledWith
(
el
:
@
element
)
expect
(
CMS
.
Views
.
Course
().
render
).
toHaveBeenCalled
()
describe
"view stack"
,
->
beforeEach
->
@
currentView
=
jasmine
.
createSpy
(
"currentView"
)
CMS
.
viewStack
=
[
@
currentView
]
describe
"replaceView"
,
->
beforeEach
->
@
newView
=
jasmine
.
createSpy
(
"newView"
)
CMS
.
on
(
"content.show"
,
(
@
expectedView
)
=>
)
CMS
.
replaceView
(
@
newView
)
it
"replace the views on the viewStack"
,
->
expect
(
CMS
.
viewStack
).
toEqual
([
@
newView
])
it
"trigger content.show on CMS"
,
->
expect
(
@
expectedView
).
toEqual
(
@
newView
)
describe
"pushView"
,
->
beforeEach
->
@
newView
=
jasmine
.
createSpy
(
"newView"
)
CMS
.
on
(
"content.show"
,
(
@
expectedView
)
=>
)
CMS
.
pushView
(
@
newView
)
it
"push new view onto viewStack"
,
->
expect
(
CMS
.
viewStack
).
toEqual
([
@
currentView
,
@
newView
])
it
"trigger content.show on CMS"
,
->
expect
(
@
expectedView
).
toEqual
(
@
newView
)
describe
"popView"
,
->
it
"remove the current view from the viewStack"
,
->
CMS
.
popView
()
expect
(
CMS
.
viewStack
).
toEqual
([])
describe
"when there's no view on the viewStack"
,
->
beforeEach
->
CMS
.
viewStack
=
[
@
currentView
]
CMS
.
on
(
"content.hide"
,
=>
@
eventTriggered
=
true
)
CMS
.
popView
()
it
"trigger content.hide on CMS"
,
->
expect
(
@
eventTriggered
).
toBeTruthy
describe
"when there's previous view on the viewStack"
,
->
beforeEach
->
@
parentView
=
jasmine
.
createSpyObj
(
"parentView"
,
[
"delegateEvents"
])
CMS
.
viewStack
=
[
@
parentView
,
@
currentView
]
CMS
.
on
(
"content.show"
,
(
@
expectedView
)
=>
)
CMS
.
popView
()
it
"trigger content.show with the previous view on CMS"
,
->
expect
(
@
expectedView
).
toEqual
@
parentView
it
"re-bind events on the view"
,
->
expect
(
@
parentView
.
delegateEvents
).
toHaveBeenCalled
()
describe
"main helper"
,
->
beforeEach
->
@
previousAjaxSettings
=
$
.
extend
(
true
,
{},
$
.
ajaxSettings
)
...
...
cms/static/coffee/spec/models/module_spec.coffee
View file @
255720ab
...
...
@@ -3,75 +3,4 @@ describe "CMS.Models.Module", ->
expect
(
new
CMS
.
Models
.
Module
().
url
).
toEqual
(
"/save_item"
)
it
"set the correct default"
,
->
expect
(
new
CMS
.
Models
.
Module
().
defaults
).
toEqual
({
data
:
""
})
describe
"loadModule"
,
->
describe
"when the module exists"
,
->
beforeEach
->
@
fakeModule
=
jasmine
.
createSpy
(
"fakeModuleObject"
)
window
.
FakeModule
=
jasmine
.
createSpy
(
"FakeModule"
).
andReturn
(
@
fakeModule
)
@
module
=
new
CMS
.
Models
.
Module
(
type
:
"FakeModule"
)
@
stubDiv
=
$
(
'<div />'
)
@
stubElement
=
$
(
'<div class="xmodule_edit" />'
)
@
stubElement
.
data
(
'type'
,
"FakeModule"
)
@
stubDiv
.
append
(
@
stubElement
)
@
module
.
loadModule
(
@
stubDiv
)
afterEach
->
window
.
FakeModule
=
undefined
it
"initialize the module"
,
->
expect
(
window
.
FakeModule
).
toHaveBeenCalled
()
# Need to compare underlying nodes, because jquery selectors
# aren't equal even when they point to the same node.
# http://stackoverflow.com/questions/9505437/how-to-test-jquery-with-jasmine-for-element-id-if-used-as-this
expectedNode
=
@
stubElement
[
0
]
actualNode
=
window
.
FakeModule
.
mostRecentCall
.
args
[
0
][
0
]
expect
(
actualNode
).
toEqual
(
expectedNode
)
expect
(
@
module
.
module
).
toEqual
(
@
fakeModule
)
describe
"when the module does not exists"
,
->
beforeEach
->
@
previousConsole
=
window
.
console
window
.
console
=
jasmine
.
createSpyObj
(
"fakeConsole"
,
[
"error"
])
@
module
=
new
CMS
.
Models
.
Module
(
type
:
"HTML"
)
@
module
.
loadModule
(
$
(
"<div>"
))
afterEach
->
window
.
console
=
@
previousConsole
it
"print out error to log"
,
->
expect
(
window
.
console
.
error
).
toHaveBeenCalled
()
expect
(
window
.
console
.
error
.
mostRecentCall
.
args
[
0
]).
toMatch
(
"^Unable to load"
)
describe
"editUrl"
,
->
it
"construct the correct URL based on id"
,
->
expect
(
new
CMS
.
Models
.
Module
(
id
:
"i4x://mit.edu/module/html_123"
).
editUrl
())
.
toEqual
(
"/edit_item?id=i4x%3A%2F%2Fmit.edu%2Fmodule%2Fhtml_123"
)
describe
"save"
,
->
beforeEach
->
spyOn
(
Backbone
.
Model
.
prototype
,
"save"
)
@
module
=
new
CMS
.
Models
.
Module
()
describe
"when the module exists"
,
->
beforeEach
->
@
module
.
module
=
jasmine
.
createSpyObj
(
"FakeModule"
,
[
"save"
])
@
module
.
module
.
save
.
andReturn
(
"module data"
)
@
module
.
save
()
it
"set the data and call save on the module"
,
->
expect
(
@
module
.
get
(
"data"
)).
toEqual
(
"
\"
module data
\"
"
)
it
"call save on the backbone model"
,
->
expect
(
Backbone
.
Model
.
prototype
.
save
).
toHaveBeenCalled
()
describe
"when the module does not exists"
,
->
beforeEach
->
@
module
.
save
()
it
"call save on the backbone model"
,
->
expect
(
Backbone
.
Model
.
prototype
.
save
).
toHaveBeenCalled
()
expect
(
new
CMS
.
Models
.
Module
().
defaults
).
toEqual
(
undefined
)
cms/static/coffee/spec/views/course_spec.coffee
deleted
100644 → 0
View file @
2ca63268
describe
"CMS.Views.Course"
,
->
beforeEach
->
setFixtures
"""
<section id="main-section">
<section class="main-content"></section>
<ol id="weeks">
<li class="cal week-one" style="height: 50px"></li>
<li class="cal week-two" style="height: 100px"></li>
</ol>
</section>
"""
CMS
.
unbind
()
describe
"render"
,
->
beforeEach
->
spyOn
(
CMS
.
Views
,
"Week"
).
andReturn
(
jasmine
.
createSpyObj
(
"Week"
,
[
"render"
]))
new
CMS
.
Views
.
Course
(
el
:
$
(
"#main-section"
)).
render
()
it
"create week view for each week"
,
->
expect
(
CMS
.
Views
.
Week
.
calls
[
0
].
args
[
0
])
.
toEqual
({
el
:
$
(
".week-one"
).
get
(
0
),
height
:
101
})
expect
(
CMS
.
Views
.
Week
.
calls
[
1
].
args
[
0
])
.
toEqual
({
el
:
$
(
".week-two"
).
get
(
0
),
height
:
101
})
describe
"on content.show"
,
->
beforeEach
->
@
view
=
new
CMS
.
Views
.
Course
(
el
:
$
(
"#main-section"
))
@
subView
=
jasmine
.
createSpyObj
(
"subView"
,
[
"render"
])
@
subView
.
render
.
andReturn
(
el
:
"Subview Content"
)
spyOn
(
@
view
,
"contentHeight"
).
andReturn
(
100
)
CMS
.
trigger
(
"content.show"
,
@
subView
)
afterEach
->
$
(
"body"
).
removeClass
(
"content"
)
it
"add content class to body"
,
->
expect
(
$
(
"body"
).
attr
(
"class"
)).
toEqual
(
"content"
)
it
"replace content in .main-content"
,
->
expect
(
$
(
".main-content"
)).
toHaveHtml
(
"Subview Content"
)
it
"set height on calendar"
,
->
expect
(
$
(
".cal"
)).
toHaveCss
(
height
:
"100px"
)
it
"set minimum height on all sections"
,
->
expect
(
$
(
"#main-section>section"
)).
toHaveCss
(
minHeight
:
"100px"
)
describe
"on content.hide"
,
->
beforeEach
->
$
(
"body"
).
addClass
(
"content"
)
@
view
=
new
CMS
.
Views
.
Course
(
el
:
$
(
"#main-section"
))
$
(
".cal"
).
css
(
height
:
100
)
$
(
"#main-section>section"
).
css
(
minHeight
:
100
)
CMS
.
trigger
(
"content.hide"
)
afterEach
->
$
(
"body"
).
removeClass
(
"content"
)
it
"remove content class from body"
,
->
expect
(
$
(
"body"
).
attr
(
"class"
)).
toEqual
(
""
)
it
"remove content from .main-content"
,
->
expect
(
$
(
".main-content"
)).
toHaveHtml
(
""
)
it
"reset height on calendar"
,
->
expect
(
$
(
".cal"
)).
not
.
toHaveCss
(
height
:
"100px"
)
it
"reset minimum height on all sections"
,
->
expect
(
$
(
"#main-section>section"
)).
not
.
toHaveCss
(
minHeight
:
"100px"
)
describe
"maxWeekHeight"
,
->
it
"return maximum height of the week element"
,
->
@
view
=
new
CMS
.
Views
.
Course
(
el
:
$
(
"#main-section"
))
expect
(
@
view
.
maxWeekHeight
()).
toEqual
(
101
)
describe
"contentHeight"
,
->
beforeEach
->
$
(
"body"
).
append
(
$
(
'<header id="test">'
).
height
(
100
).
hide
())
afterEach
->
$
(
"body>header#test"
).
remove
()
it
"return the window height minus the header bar"
,
->
@
view
=
new
CMS
.
Views
.
Course
(
el
:
$
(
"#main-section"
))
expect
(
@
view
.
contentHeight
()).
toEqual
(
$
(
window
).
height
()
-
100
)
cms/static/coffee/spec/views/module_edit_spec.coffee
View file @
255720ab
describe
"CMS.Views.ModuleEdit"
,
->
beforeEach
->
@
stubModule
=
jasmine
.
createSpyObj
(
"Module"
,
[
"editUrl"
,
"loadModule"
])
spyOn
(
$
.
fn
,
"load"
)
setFixtures
"""
<div id="module-edit">
<a href="#" class="save-update">save</a>
<a href="#" class="cancel">cancel</a>
<ol>
<li>
<a href="#" class="module-edit" data-id="i4x://mitx/course/html/module" data-type="html">submodule</a>
</li>
</ol>
</div>
"""
#"
CMS
.
unbind
()
describe
"defaults"
,
->
it
"set the correct tagName"
,
->
expect
(
new
CMS
.
Views
.
ModuleEdit
(
model
:
@
stubModule
).
tagName
).
toEqual
(
"section"
)
@
stubModule
=
jasmine
.
createSpy
(
"CMS.Models.Module"
)
@
stubModule
.
id
=
'stub-id'
it
"set the correct className"
,
->
expect
(
new
CMS
.
Views
.
ModuleEdit
(
model
:
@
stubModule
).
className
).
toEqual
(
"edit-pane"
)
describe
"view creation"
,
->
beforeEach
->
@
stubModule
.
editUrl
.
andReturn
(
"/edit_item?id=stub_module"
)
new
CMS
.
Views
.
ModuleEdit
(
el
:
$
(
"#module-edit"
),
model
:
@
stubModule
)
setFixtures
"""
<li class="component" id="stub-id">
<div class="component-editor">
<div class="module-editor">
${editor}
</div>
<a href="#" class="save-button">Save</a>
<a href="#" class="cancel-button">Cancel</a>
</div>
<div class="component-actions">
<a href="#" class="edit-button"><span class="edit-icon white"></span>Edit</a>
<a href="#" class="delete-button"><span class="delete-icon white"></span>Delete</a>
</div>
<a href="#" class="drag-handle"></a>
<section class="xmodule_display xmodule_stub" data-type="StubModule">
<div id="stub-module-content"/>
</section>
</li>
"""
spyOn
(
$
.
fn
,
'load'
).
andReturn
(
@
moduleData
)
it
"load the edit via ajax and pass to the model"
,
->
expect
(
$
.
fn
.
load
).
toHaveBeenCalledWith
(
"/edit_item?id=stub_module"
,
jasmine
.
any
(
Function
))
if
$
.
fn
.
load
.
mostRecentCall
$
.
fn
.
load
.
mostRecentCall
.
args
[
1
]()
expect
(
@
stubModule
.
loadModule
).
toHaveBeenCalledWith
(
$
(
"#module-edit"
).
get
(
0
))
@
moduleEdit
=
new
CMS
.
Views
.
ModuleEdit
(
el
:
$
(
".component"
)
model
:
@
stubModule
onDelete
:
jasmine
.
createSpy
()
)
CMS
.
unbind
()
describe
"save"
,
->
beforeEach
->
@
stubJqXHR
=
jasmine
.
createSpy
(
"stubJqXHR"
)
@
stubJqXHR
.
success
=
jasmine
.
createSpy
(
"stubJqXHR.success"
).
andReturn
(
@
stubJqXHR
)
@
stubJqXHR
.
error
=
jasmine
.
createSpy
(
"stubJqXHR.error"
).
andReturn
(
@
stubJqXHR
)
@
stubModule
.
save
=
jasmine
.
createSpy
(
"stubModule.save"
).
andReturn
(
@
stubJqXHR
)
new
CMS
.
Views
.
ModuleEdit
(
el
:
$
(
".module-edit"
),
model
:
@
stubModule
)
spyOn
(
window
,
"alert"
)
$
(
".save-update"
).
click
()
describe
"class definition"
,
->
it
"sets the correct tagName"
,
->
expect
(
@
moduleEdit
.
tagName
).
toEqual
(
"li"
)
it
"
call save on the model
"
,
->
expect
(
@
stubModule
.
save
).
toHaveBeenCalled
(
)
it
"
sets the correct className
"
,
->
expect
(
@
moduleEdit
.
className
).
toEqual
(
"component"
)
it
"alert user on success"
,
->
@
stubJqXHR
.
success
.
mostRecentCall
.
args
[
0
]()
expect
(
window
.
alert
).
toHaveBeenCalledWith
(
"Your changes have been saved."
)
describe
"methods"
,
->
describe
"initialize"
,
->
beforeEach
->
spyOn
(
CMS
.
Views
.
ModuleEdit
.
prototype
,
'render'
)
@
moduleEdit
=
new
CMS
.
Views
.
ModuleEdit
(
el
:
$
(
".component"
)
model
:
@
stubModule
onDelete
:
jasmine
.
createSpy
()
)
it
"alert user on error"
,
->
@
stubJqXHR
.
error
.
mostRecentCall
.
args
[
0
]()
expect
(
window
.
alert
).
toHaveBeenCalledWith
(
"There was an error saving your changes. Please try again."
)
it
"renders the module editor"
,
->
expect
(
@
moduleEdit
.
render
).
toHaveBeenCalled
()
describe
"cancel
"
,
->
beforeEach
->
spyOn
(
CMS
,
"popView"
)
@
view
=
new
CMS
.
Views
.
ModuleEdit
(
el
:
$
(
"#module-edit"
),
model
:
@
stubModule
)
$
(
".cancel"
).
click
()
describe
"render
"
,
->
beforeEach
->
spyOn
(
@
moduleEdit
,
'loadDisplay'
)
spyOn
(
@
moduleEdit
,
'delegateEvents'
)
@
moduleEdit
.
render
()
it
"pop current view from viewStack"
,
->
expect
(
CMS
.
popView
).
toHaveBeenCalled
()
it
"loads the module preview and editor via ajax on the view element"
,
->
expect
(
@
moduleEdit
.
$el
.
load
).
toHaveBeenCalledWith
(
"/preview_component/
#{
@
moduleEdit
.
model
.
id
}
"
,
jasmine
.
any
(
Function
))
@
moduleEdit
.
$el
.
load
.
mostRecentCall
.
args
[
1
]()
expect
(
@
moduleEdit
.
loadDisplay
).
toHaveBeenCalled
()
expect
(
@
moduleEdit
.
delegateEvents
).
toHaveBeenCalled
()
describe
"editSubmodule"
,
->
beforeEach
->
@
view
=
new
CMS
.
Views
.
ModuleEdit
(
el
:
$
(
"#module-edit"
),
model
:
@
stubModule
)
spyOn
(
CMS
,
"pushView"
)
spyOn
(
CMS
.
Views
,
"ModuleEdit"
)
.
andReturn
(
@
view
=
jasmine
.
createSpy
(
"Views.ModuleEdit"
))
spyOn
(
CMS
.
Models
,
"Module"
)
.
andReturn
(
@
model
=
jasmine
.
createSpy
(
"Models.Module"
))
$
(
".module-edit"
).
click
()
describe
"loadDisplay"
,
->
beforeEach
->
spyOn
(
XModule
,
'loadModule'
)
@
moduleEdit
.
loadDisplay
()
it
"push another module editing view into viewStack"
,
->
expect
(
CMS
.
pushView
).
toHaveBeenCalledWith
@
view
expect
(
CMS
.
Views
.
ModuleEdit
).
toHaveBeenCalledWith
model
:
@
model
expect
(
CMS
.
Models
.
Module
).
toHaveBeenCalledWith
id
:
"i4x://mitx/course/html/module"
type
:
"html"
it
"loads the .xmodule-display inside the module editor"
,
->
expect
(
XModule
.
loadModule
).
toHaveBeenCalled
()
expect
(
XModule
.
loadModule
.
mostRecentCall
.
args
[
0
]).
toBe
(
$
(
'.xmodule_display'
))
cms/static/coffee/spec/views/module_spec.coffee
deleted
100644 → 0
View file @
2ca63268
describe
"CMS.Views.Module"
,
->
beforeEach
->
setFixtures
"""
<div id="module" data-id="i4x://mitx/course/html/module" data-type="html">
<a href="#" class="module-edit">edit</a>
</div>
"""
describe
"edit"
,
->
beforeEach
->
@
view
=
new
CMS
.
Views
.
Module
(
el
:
$
(
"#module"
))
spyOn
(
CMS
,
"replaceView"
)
spyOn
(
CMS
.
Views
,
"ModuleEdit"
)
.
andReturn
(
@
view
=
jasmine
.
createSpy
(
"Views.ModuleEdit"
))
spyOn
(
CMS
.
Models
,
"Module"
)
.
andReturn
(
@
model
=
jasmine
.
createSpy
(
"Models.Module"
))
$
(
".module-edit"
).
click
()
it
"replace the main view with ModuleEdit view"
,
->
expect
(
CMS
.
replaceView
).
toHaveBeenCalledWith
@
view
expect
(
CMS
.
Views
.
ModuleEdit
).
toHaveBeenCalledWith
model
:
@
model
expect
(
CMS
.
Models
.
Module
).
toHaveBeenCalledWith
id
:
"i4x://mitx/course/html/module"
type
:
"html"
cms/static/coffee/spec/views/week_edit_spec.coffee
deleted
100644 → 0
View file @
2ca63268
describe
"CMS.Views.WeekEdit"
,
->
describe
"defaults"
,
->
it
"set the correct tagName"
,
->
expect
(
new
CMS
.
Views
.
WeekEdit
().
tagName
).
toEqual
(
"section"
)
it
"set the correct className"
,
->
expect
(
new
CMS
.
Views
.
WeekEdit
().
className
).
toEqual
(
"edit-pane"
)
cms/static/coffee/spec/views/week_spec.coffee
deleted
100644 → 0
View file @
2ca63268
describe
"CMS.Views.Week"
,
->
beforeEach
->
setFixtures
"""
<div id="week" data-id="i4x://mitx/course/chapter/week">
<div class="editable"></div>
<textarea class="editable-textarea"></textarea>
<a href="#" class="week-edit" >edit</a>
<ul class="modules">
<li id="module-one" class="module"></li>
<li id="module-two" class="module"></li>
</ul>
</div>
"""
CMS
.
unbind
()
describe
"render"
,
->
beforeEach
->
spyOn
(
CMS
.
Views
,
"Module"
).
andReturn
(
jasmine
.
createSpyObj
(
"Module"
,
[
"render"
]))
$
.
fn
.
inlineEdit
=
jasmine
.
createSpy
(
"$.fn.inlineEdit"
)
@
view
=
new
CMS
.
Views
.
Week
(
el
:
$
(
"#week"
),
height
:
100
).
render
()
it
"set the height of the element"
,
->
expect
(
@
view
.
el
).
toHaveCss
(
height
:
"100px"
)
it
"make .editable as inline editor"
,
->
expect
(
$
.
fn
.
inlineEdit
.
calls
[
0
].
object
.
get
(
0
))
.
toEqual
(
$
(
".editable"
).
get
(
0
))
it
"make .editable-test as inline editor"
,
->
expect
(
$
.
fn
.
inlineEdit
.
calls
[
1
].
object
.
get
(
0
))
.
toEqual
(
$
(
".editable-textarea"
).
get
(
0
))
it
"create module subview for each module"
,
->
expect
(
CMS
.
Views
.
Module
.
calls
[
0
].
args
[
0
])
.
toEqual
({
el
:
$
(
"#module-one"
).
get
(
0
)
})
expect
(
CMS
.
Views
.
Module
.
calls
[
1
].
args
[
0
])
.
toEqual
({
el
:
$
(
"#module-two"
).
get
(
0
)
})
describe
"edit"
,
->
beforeEach
->
new
CMS
.
Views
.
Week
(
el
:
$
(
"#week"
),
height
:
100
).
render
()
spyOn
(
CMS
,
"replaceView"
)
spyOn
(
CMS
.
Views
,
"WeekEdit"
)
.
andReturn
(
@
view
=
jasmine
.
createSpy
(
"Views.WeekEdit"
))
$
(
".week-edit"
).
click
()
it
"replace the content with edit week view"
,
->
expect
(
CMS
.
replaceView
).
toHaveBeenCalledWith
@
view
expect
(
CMS
.
Views
.
WeekEdit
).
toHaveBeenCalled
()
describe
"on content.show"
,
->
beforeEach
->
@
view
=
new
CMS
.
Views
.
Week
(
el
:
$
(
"#week"
),
height
:
100
).
render
()
@
view
.
$el
.
height
(
""
)
@
view
.
setHeight
()
it
"set the correct height"
,
->
expect
(
@
view
.
el
).
toHaveCss
(
height
:
"100px"
)
describe
"on content.hide"
,
->
beforeEach
->
@
view
=
new
CMS
.
Views
.
Week
(
el
:
$
(
"#week"
),
height
:
100
).
render
()
@
view
.
$el
.
height
(
"100px"
)
@
view
.
resetHeight
()
it
"remove height from the element"
,
->
expect
(
@
view
.
el
).
not
.
toHaveCss
(
height
:
"100px"
)
cms/static/coffee/src/main.coffee
View file @
255720ab
...
...
@@ -6,28 +6,6 @@ AjaxPrefix.addAjaxPrefix(jQuery, -> CMS.prefix)
prefix
:
$
(
"meta[name='path_prefix']"
).
attr
(
'content'
)
viewStack
:
[]
start
:
(
el
)
->
new
CMS
.
Views
.
Course
(
el
:
el
).
render
()
replaceView
:
(
view
)
->
@
viewStack
=
[
view
]
CMS
.
trigger
(
'content.show'
,
view
)
pushView
:
(
view
)
->
@
viewStack
.
push
(
view
)
CMS
.
trigger
(
'content.show'
,
view
)
popView
:
->
@
viewStack
.
pop
()
if
_
.
isEmpty
(
@
viewStack
)
CMS
.
trigger
(
'content.hide'
)
else
view
=
_
.
last
(
@
viewStack
)
CMS
.
trigger
(
'content.show'
,
view
)
view
.
delegateEvents
()
_
.
extend
CMS
,
Backbone
.
Events
$
->
...
...
@@ -41,7 +19,3 @@ $ ->
navigator
.
userAgent
.
match
/iPhone|iPod|iPad/i
$
(
'body'
).
addClass
'touch-based-device'
if
onTouchBasedDevice
()
CMS
.
start
(
$
(
'section.main-container'
))
cms/static/coffee/src/models/new_module.coffee
deleted
100644 → 0
View file @
2ca63268
class
CMS
.
Models
.
NewModule
extends
Backbone
.
Model
url
:
'/clone_item'
newUrl
:
->
"/new_item?
#{
$
.
param
(
parent_location
:
@
get
(
'parent_location'
))
}
"
cms/static/coffee/src/views/course.coffee
deleted
100644 → 0
View file @
2ca63268
class
CMS
.
Views
.
Course
extends
Backbone
.
View
initialize
:
->
CMS
.
on
(
'content.show'
,
@
showContent
)
CMS
.
on
(
'content.hide'
,
@
hideContent
)
render
:
->
@
$
(
'#weeks > li'
).
each
(
index
,
week
)
=>
new
CMS
.
Views
.
Week
(
el
:
week
,
height
:
@
maxWeekHeight
()).
render
()
return
@
showContent
:
(
subview
)
=>
$
(
'body'
).
addClass
(
'content'
)
@
$
(
'.main-content'
).
html
(
subview
.
render
().
el
)
@
$
(
'.cal'
).
css
height
:
@
contentHeight
()
@
$
(
'>section'
).
css
minHeight
:
@
contentHeight
()
hideContent
:
=>
$
(
'body'
).
removeClass
(
'content'
)
@
$
(
'.main-content'
).
empty
()
@
$
(
'.cal'
).
css
height
:
''
@
$
(
'>section'
).
css
minHeight
:
''
maxWeekHeight
:
->
weekElementBorderSize
=
1
_
.
max
(
$
(
'#weeks > li'
).
map
->
$
(
this
).
height
())
+
weekElementBorderSize
contentHeight
:
->
$
(
window
).
height
()
-
$
(
'body>header'
).
outerHeight
()
cms/static/coffee/src/views/module.coffee
deleted
100644 → 0
View file @
2ca63268
class
CMS
.
Views
.
Module
extends
Backbone
.
View
events
:
"click .module-edit"
:
"edit"
edit
:
(
event
)
=>
event
.
preventDefault
()
previewType
=
@
$el
.
data
(
'preview-type'
)
moduleType
=
@
$el
.
data
(
'type'
)
CMS
.
replaceView
new
CMS
.
Views
.
ModuleEdit
model
:
new
CMS
.
Models
.
Module
id
:
@
$el
.
data
(
'id'
)
type
:
if
moduleType
==
'None'
then
null
else
moduleType
previewType
:
if
previewType
==
'None'
then
null
else
previewType
cms/static/coffee/src/views/module_add.coffee
deleted
100644 → 0
View file @
2ca63268
class
CMS
.
Views
.
ModuleAdd
extends
Backbone
.
View
tagName
:
'section'
className
:
'add-pane'
events
:
'click .cancel'
:
'cancel'
'click .save'
:
'save'
initialize
:
->
@
$el
.
load
@
model
.
newUrl
()
save
:
(
event
)
->
event
.
preventDefault
()
@
model
.
save
({
name
:
@
$el
.
find
(
'.name'
).
val
()
template
:
$
(
event
.
target
).
data
(
'template-id'
)
},
{
success
:
->
CMS
.
popView
()
error
:
->
alert
(
'Create failed'
)
})
cancel
:
(
event
)
->
event
.
preventDefault
()
CMS
.
popView
()
cms/static/coffee/src/views/week.coffee
deleted
100644 → 0
View file @
2ca63268
class
CMS
.
Views
.
Week
extends
Backbone
.
View
events
:
'click .week-edit'
:
'edit'
'click .new-module'
:
'new'
initialize
:
->
CMS
.
on
(
'content.show'
,
@
resetHeight
)
CMS
.
on
(
'content.hide'
,
@
setHeight
)
render
:
->
@
setHeight
()
@
$
(
'.editable'
).
inlineEdit
()
@
$
(
'.editable-textarea'
).
inlineEdit
(
control
:
'textarea'
)
@
$
(
'.modules .module'
).
each
->
new
CMS
.
Views
.
Module
(
el
:
this
).
render
()
return
@
edit
:
(
event
)
->
event
.
preventDefault
()
CMS
.
replaceView
(
new
CMS
.
Views
.
WeekEdit
())
setHeight
:
=>
@
$el
.
height
(
@
options
.
height
)
resetHeight
:
=>
@
$el
.
height
(
''
)
new
:
(
event
)
=>
event
.
preventDefault
()
CMS
.
replaceView
new
CMS
.
Views
.
ModuleAdd
model
:
new
CMS
.
Models
.
NewModule
parent_location
:
@
$el
.
data
(
'id'
)
cms/static/coffee/src/views/week_edit.coffee
deleted
100644 → 0
View file @
2ca63268
class
CMS
.
Views
.
WeekEdit
extends
Backbone
.
View
tagName
:
'section'
className
:
'edit-pane'
lms/envs/jasmine.py
View file @
255720ab
...
...
@@ -17,8 +17,9 @@ LOGGING = get_logger_config(TEST_ROOT / "log",
PIPELINE_JS
[
'js-test-source'
]
=
{
'source_filenames'
:
sum
([
pipeline_group
[
'source_filenames'
]
for
pipeline_group
in
PIPELINE_JS
.
values
()
for
group_name
,
pipeline_group
in
PIPELINE_JS
.
items
()
if
group_name
!=
'spec'
],
[]),
'output_filename'
:
'js/lms-test-source.js'
}
...
...
rakefile
View file @
255720ab
...
...
@@ -49,7 +49,6 @@ def django_for_jasmine(system, django_reload)
django_pid
=
fork
do
exec
(
*
django_admin
(
system
,
'jasmine'
,
'runserver'
,
"12345"
,
reload_arg
).
split
(
' '
))
end
puts
django_pid
jasmine_url
=
'http://localhost:12345/_jasmine/'
up
=
false
start_time
=
Time
.
now
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment