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
58129031
Commit
58129031
authored
Jun 18, 2015
by
asadiqbal
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
SOL-939 Jasmine Tests
parent
89f13e15
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
129 additions
and
0 deletions
+129
-0
cms/static/coffee/spec/main.coffee
+1
-0
cms/static/js/certificates/spec/views/certificate_preview_spec.js
+128
-0
No files found.
cms/static/coffee/spec/main.coffee
View file @
58129031
...
...
@@ -278,6 +278,7 @@ define([
"js/certificates/spec/views/certificate_details_spec"
,
"js/certificates/spec/views/certificate_editor_spec"
,
"js/certificates/spec/views/certificates_list_spec"
,
"js/certificates/spec/views/certificate_preview_spec"
,
# these tests are run separately in the cms-squire suite, due to process
# isolation issues with Squire.js
...
...
cms/static/js/certificates/spec/views/certificate_preview_spec.js
0 → 100644
View file @
58129031
// Jasmine Test Suite: Certificate Web Preview
define
([
// jshint ignore:line
'underscore'
,
'jquery'
,
'js/models/course'
,
'js/certificates/views/certificate_preview'
,
'common/js/spec_helpers/template_helpers'
,
'js/spec_helpers/view_helpers'
,
'common/js/spec_helpers/ajax_helpers'
],
function
(
_
,
$
,
Course
,
CertificatePreview
,
TemplateHelpers
,
ViewHelpers
,
AjaxHelpers
)
{
'use strict'
;
var
SELECTORS
=
{
course_modes
:
'#course-modes'
,
activate_certificate
:
'.activate-cert'
,
preview_certificate
:
'.preview-certificate-link'
};
beforeEach
(
function
()
{
window
.
course
=
new
Course
({
id
:
'5'
,
name
:
'Course Name'
,
url_name
:
'course_name'
,
org
:
'course_org'
,
num
:
'course_num'
,
revision
:
'course_rev'
});
});
afterEach
(
function
()
{
delete
window
.
course
;
});
describe
(
'Certificate Web Preview Spec:'
,
function
()
{
var
selectDropDownByText
=
function
(
element
,
value
)
{
if
(
value
)
{
element
.
val
(
value
);
element
.
trigger
(
'change'
);
}
};
beforeEach
(
function
()
{
TemplateHelpers
.
installTemplate
(
'certificate-web-preview'
,
true
);
appendSetFixtures
(
'<div class="preview-certificate nav-actions"></div>'
);
this
.
view
=
new
CertificatePreview
({
el
:
$
(
'.preview-certificate'
),
course_modes
:
[
'test1'
,
'test2'
,
'test3'
],
certificate_web_view_url
:
'/users/1/courses/orgX/009/2016?preview=test1'
,
certificate_activation_handler_url
:
'/certificates/activation/'
+
window
.
course
.
id
,
is_active
:
true
});
appendSetFixtures
(
this
.
view
.
render
().
el
);
});
describe
(
'Certificate preview'
,
function
()
{
it
(
'course mode event should call when user choose a new mode'
,
function
()
{
spyOn
(
this
.
view
,
'courseModeChanged'
);
this
.
view
.
delegateEvents
();
selectDropDownByText
(
this
.
view
.
$
(
SELECTORS
.
course_modes
),
'test3'
);
expect
(
this
.
view
.
courseModeChanged
).
toHaveBeenCalled
();
});
it
(
'course mode selection updating the link successfully'
,
function
()
{
selectDropDownByText
(
this
.
view
.
$
(
SELECTORS
.
course_modes
),
'test1'
);
expect
(
this
.
view
.
$
(
SELECTORS
.
preview_certificate
).
attr
(
'href'
)).
toEqual
(
'/users/1/courses/orgX/009/2016?preview=test1'
);
selectDropDownByText
(
this
.
view
.
$
(
SELECTORS
.
course_modes
),
'test2'
);
expect
(
this
.
view
.
$
(
SELECTORS
.
preview_certificate
).
attr
(
'href'
)).
toEqual
(
'/users/1/courses/orgX/009/2016?preview=test2'
);
selectDropDownByText
(
this
.
view
.
$
(
SELECTORS
.
course_modes
),
'test3'
);
expect
(
this
.
view
.
$
(
SELECTORS
.
preview_certificate
).
attr
(
'href'
)).
toEqual
(
'/users/1/courses/orgX/009/2016?preview=test3'
);
});
it
(
'toggle certificate activation event works fine'
,
function
()
{
spyOn
(
this
.
view
,
'toggleCertificateActivation'
);
this
.
view
.
delegateEvents
();
this
.
view
.
$
(
SELECTORS
.
activate_certificate
).
click
();
expect
(
this
.
view
.
toggleCertificateActivation
).
toHaveBeenCalled
();
});
it
(
'certificate deactivation works fine'
,
function
()
{
var
requests
=
AjaxHelpers
.
requests
(
this
),
notificationSpy
=
ViewHelpers
.
createNotificationSpy
();
this
.
view
.
$
(
SELECTORS
.
activate_certificate
).
click
();
AjaxHelpers
.
expectJsonRequest
(
requests
,
'POST'
,
'/certificates/activation/'
+
window
.
course
.
id
,
{
is_active
:
false
});
ViewHelpers
.
verifyNotificationShowing
(
notificationSpy
,
/Deactivating/
);
});
it
(
'certificate activation works fine'
,
function
()
{
var
requests
=
AjaxHelpers
.
requests
(
this
),
notificationSpy
=
ViewHelpers
.
createNotificationSpy
();
this
.
view
.
is_active
=
false
;
this
.
view
.
$
(
SELECTORS
.
activate_certificate
).
click
();
AjaxHelpers
.
expectJsonRequest
(
requests
,
'POST'
,
'/certificates/activation/'
+
window
.
course
.
id
,
{
is_active
:
true
});
ViewHelpers
.
verifyNotificationShowing
(
notificationSpy
,
/Activating/
);
});
it
(
'certificate should be deactivate when method "remove" called'
,
function
()
{
this
.
view
.
remove
();
expect
(
this
.
view
.
is_active
).
toBe
(
false
);
});
it
(
'certificate web preview should be removed when method "remove" called'
,
function
()
{
this
.
view
.
remove
();
expect
(
this
.
view
.
el
.
innerHTML
).
toContain
(
""
);
});
it
(
'method "show" should call the render function'
,
function
()
{
spyOn
(
this
.
view
,
"render"
);
this
.
view
.
show
();
expect
(
this
.
view
.
render
).
toHaveBeenCalled
();
});
});
});
});
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