Terminology change: enrollments/credits => licenses

Closes #3676
This commit is contained in:
Matt Lott 2016-05-25 05:52:43 -07:00
parent 9cdc3289db
commit e218af8418
13 changed files with 98 additions and 114 deletions

View file

@ -73,8 +73,8 @@ module.exports = class CocoRouter extends Backbone.Router
'Courses': go('courses/CoursesView') # , { studentsOnly: true }) 'Courses': go('courses/CoursesView') # , { studentsOnly: true })
'courses/students': redirect('/courses') 'courses/students': redirect('/courses')
'courses/teachers': redirect('/teachers/classes') 'courses/teachers': redirect('/teachers/classes')
'courses/purchase': redirect('/teachers/enrollments') 'courses/purchase': redirect('/teachers/licenses')
'courses/enroll(/:courseID)': redirect('/teachers/enrollments') 'courses/enroll(/:courseID)': redirect('/teachers/licenses')
'courses/update-account': go('courses/CoursesUpdateAccountView') 'courses/update-account': go('courses/CoursesUpdateAccountView')
'courses/:classroomID': go('courses/ClassroomView') #, { studentsOnly: true }) 'courses/:classroomID': go('courses/ClassroomView') #, { studentsOnly: true })
'courses/:courseID/:courseInstanceID': go('courses/CourseDetailsView') 'courses/:courseID/:courseInstanceID': go('courses/CourseDetailsView')
@ -146,7 +146,8 @@ module.exports = class CocoRouter extends Backbone.Router
'teachers/classes/:classroomID': go('courses/TeacherClassView') #, { teachersOnly: true }) 'teachers/classes/:classroomID': go('courses/TeacherClassView') #, { teachersOnly: true })
'teachers/courses': go('courses/TeacherCoursesView') 'teachers/courses': go('courses/TeacherCoursesView')
'teachers/demo': go('teachers/RequestQuoteView') 'teachers/demo': go('teachers/RequestQuoteView')
'teachers/enrollments': go('courses/EnrollmentsView') #, { teachersOnly: true }) 'teachers/enrollments': redirect('/teachers/licenses')
'teachers/licenses': go('courses/EnrollmentsView') #, { teachersOnly: true })
'teachers/freetrial': go('teachers/RequestQuoteView') 'teachers/freetrial': go('teachers/RequestQuoteView')
'teachers/quote': go('teachers/RequestQuoteView') 'teachers/quote': go('teachers/RequestQuoteView')
'teachers/signup': -> 'teachers/signup': ->

View file

@ -860,7 +860,7 @@
signup_with: "Sign up with:" signup_with: "Sign up with:"
connect_with: "Connect with:" connect_with: "Connect with:"
conversion_warning: "WARNING: Your current account is a <em>Student Account</em>. Once you submit this form, your account will be updated to a Teacher Account." conversion_warning: "WARNING: Your current account is a <em>Student Account</em>. Once you submit this form, your account will be updated to a Teacher Account."
learn_more_modal: "Teacher accounts on CodeCombat have the ability to monitor student progress, assign enrollments and manage classrooms. Teacher accounts cannot be a part of a classroom - if you are currently enrolled in a class using this account, you will no longer be able to access it once you update to a Teacher Account." learn_more_modal: "Teacher accounts on CodeCombat have the ability to monitor student progress, assign licenses and manage classrooms. Teacher accounts cannot be a part of a classroom - if you are currently enrolled in a class using this account, you will no longer be able to access it once you update to a Teacher Account." # {change}
create_account: "Create a Teacher Account" create_account: "Create a Teacher Account"
create_account_subtitle: "Get access to teacher-only tools for using CodeCombat in the classroom. <strong>Set up a class</strong>, add your students, and <strong>monitor their progress</strong>!" create_account_subtitle: "Get access to teacher-only tools for using CodeCombat in the classroom. <strong>Set up a class</strong>, add your students, and <strong>monitor their progress</strong>!"
convert_account_title: "Update to Teacher Account" convert_account_title: "Update to Teacher Account"
@ -1114,13 +1114,13 @@
get_free: "Get FREE course" get_free: "Get FREE course"
enroll_paid: "Enroll Students in Paid Courses" enroll_paid: "Enroll Students in Paid Courses"
you_have1: "You have" you_have1: "You have"
you_have2: "unused paid enrollments" you_have2: "unused student licenses" # {change}
use_one: "Use 1 paid enrollment for" use_one: "Use 1 student license for" # {change}
use_multiple: "Use paid enrollments for the following students:" use_multiple: "Use licenses for the following students:" # {change}
already_enrolled: "already enrolled" already_enrolled: "already enrolled"
licenses_remaining: "licenses remaining:" licenses_remaining: "licenses remaining:"
insufficient_enrollments: "insufficient paid enrollments" insufficient_enrollments: "insufficient student licenses" # {change}
get_enrollments: "Get Enrollments" # {change} get_enrollments: "Get More Licenses" # {change}
change_language: "Change Course Language" change_language: "Change Course Language"
keep_using: "Keep Using" keep_using: "Keep Using"
switch_to: "Switch To" switch_to: "Switch To"
@ -1129,7 +1129,7 @@
back_courses: "Back to my courses" back_courses: "Back to my courses"
edit_details: "Edit class details" edit_details: "Edit class details"
enrolled_courses: "enrolled in paid courses:" enrolled_courses: "enrolled in paid courses:"
purchase_enrollments: "Purchase Enrollments" purchase_enrollments: "Purchase Student Licenses" # {change}
remove_student: "remove student" remove_student: "remove student"
assign: "Assign" assign: "Assign"
to_assign: "to assign paid courses." to_assign: "to assign paid courses."
@ -1201,10 +1201,10 @@
return_to_course_man: "Return to course management." return_to_course_man: "Return to course management."
students_not_enrolled: "students not enrolled" students_not_enrolled: "students not enrolled"
total_all_classes: "Total Across All Classes" total_all_classes: "Total Across All Classes"
how_many_enrollments: "How many additional paid enrollments do you need?" how_many_enrollments: "How many additional student licenses do you need?" # {change}
each_student_access: "Each student in a class will get access to Courses 2-4 once they are enrolled in paid courses. You may assign each course to each student individually." each_student_access: "Each student in a class will get access to Courses 2-4 once they are enrolled in paid courses. You may assign each course to each student individually."
purchase_now: "Purchase Now" purchase_now: "Purchase Now"
enrollments: "enrollments" enrollments: "licenses" # {change}
remove_student1: "Remove Student" remove_student1: "Remove Student"
are_you_sure: "Are you sure you want to remove this student from this class?" are_you_sure: "Are you sure you want to remove this student from this class?"
remove_description1: "Student will lose access to this classroom and assigned classes. Progress and gameplay is NOT lost, and the student can be added back to the classroom at any time." remove_description1: "Student will lose access to this classroom and assigned classes. Progress and gameplay is NOT lost, and the student can be added back to the classroom at any time."
@ -1232,20 +1232,6 @@
getting_started_1: "Create a new class by clicking the green 'Create New Class' button below." getting_started_1: "Create a new class by clicking the green 'Create New Class' button below."
getting_started_2: "Once you've created a class, click the blue 'Add Students' button." getting_started_2: "Once you've created a class, click the blue 'Add Students' button."
getting_started_3: "You'll see student's progress below as they sign up and join your class." getting_started_3: "You'll see student's progress below as they sign up and join your class."
additional_resources: "Additional Resources"
additional_resources_1_pref: "Download/print our"
additional_resources_1_mid: "Course 1"
additional_resources_1_mid2: "and"
additional_resources_1_mid3: "Course 2"
additional_resources_1_suff: "teacher's guides with solutions for each level."
additional_resources_2_pref: "Complete our"
additional_resources_2_suff: "to get two free enrollments for the rest of our paid courses."
additional_resources_3_pref: "Visit our"
additional_resources_3_mid: "Teacher Forums"
additional_resources_3_suff: "to connect to fellow educators who are using CodeCombat."
additional_resources_4_pref: "Check out our"
additional_resources_4_mid: "Schools Page"
additional_resources_4_suff: "to learn more about CodeCombat's classroom offerings."
educator_wiki_pref: "Or check out our new" educator_wiki_pref: "Or check out our new"
educator_wiki_mid: "educator wiki" educator_wiki_mid: "educator wiki"
educator_wiki_suff: "to browse the guide online." educator_wiki_suff: "to browse the guide online."
@ -1253,8 +1239,8 @@
no_classes: "No classes yet!" no_classes: "No classes yet!"
create_new_class1: "create new class" create_new_class1: "create new class"
available_courses: "Available Courses" available_courses: "Available Courses"
unused_enrollments: "Unused enrollments available:" unused_enrollments: "Unused licenses available:" # {change}
students_access: "All students get access to Introduction to Computer Science for free. One enrollment per student is required to assign them to paid CodeCombat courses. A single student does not need multiple enrollments to access all paid courses." students_access: "All students get access to Introduction to Computer Science for free. One license per student is required to assign them to paid CodeCombat courses. A single student does not need multiple licenses to access all paid courses." # {change}
active_courses: "active courses" active_courses: "active courses"
no_students: "No students yet!" no_students: "No students yet!"
add_students1: "add students" add_students1: "add students"
@ -1273,7 +1259,7 @@
view_guide_online: "View Guide Online (PDF)" view_guide_online: "View Guide Online (PDF)"
last_updated: "Last updated:" last_updated: "Last updated:"
grants_lifetime_access: "Grants access to all Courses." grants_lifetime_access: "Grants access to all Courses."
enrollment_credits_available: "Enrollment Credits Available:" enrollment_credits_available: "Licenses Available:" # {change}
description: "Description" # ClassroomSettingsModal description: "Description" # ClassroomSettingsModal
language_select: "Select a language" language_select: "Select a language"
language_cannot_change: "Language cannot be changed once students join a class." language_cannot_change: "Language cannot be changed once students join a class."
@ -1334,8 +1320,8 @@
teacher: teacher:
teacher_dashboard: "Teacher Dashboard" # Navbar teacher_dashboard: "Teacher Dashboard" # Navbar
my_classes: "My Classes" my_classes: "My Classes"
courses: "Courses" courses: "Course Guides" # {change}
enrollments: "Enrollments" enrollments: "Student Licenses" # {change}
resources: "Resources" resources: "Resources"
help: "Help" help: "Help"
students: "Students" # Shared students: "Students" # Shared
@ -1346,7 +1332,7 @@
teacher_account_required: "A teacher account is required to access this content." teacher_account_required: "A teacher account is required to access this content."
create_teacher_account: "Create Teacher Account" create_teacher_account: "Create Teacher Account"
what_is_a_teacher_account: "What's a Teacher Account?" what_is_a_teacher_account: "What's a Teacher Account?"
teacher_account_explanation: "A CodeCombat Teacher account allows you to set up classrooms, monitor students progress as they work through courses, manage enrollments and access resources to aid in your curriculum-building." teacher_account_explanation: "A CodeCombat Teacher account allows you to set up classrooms, monitor students progress as they work through courses, manage licenses and access resources to aid in your curriculum-building." # {change}
current_classes: "Current Classes" current_classes: "Current Classes"
archived_classes: "Archived Classes" archived_classes: "Archived Classes"
archived_classes_blurb: "Classes can be archived for future reference. Unarchive a class to view it in the Current Classes list again." archived_classes_blurb: "Classes can be archived for future reference. Unarchive a class to view it in the Current Classes list again."
@ -1398,14 +1384,14 @@
enroll_the_following_students: "Enroll the following students" enroll_the_following_students: "Enroll the following students"
all_students: "All Students" all_students: "All Students"
enroll_students: "Enroll Students" enroll_students: "Enroll Students"
not_enough_enrollments: "Not enough Enrollments available." not_enough_enrollments: "Not enough licenses available." # {change}
enrollments_blurb_1: "Students taking Computer Science" # Enrollments page enrollments_blurb_1: "Students taking Computer Science" # {change}
enrollments_blurb_2: "require enrollments to access the courses." enrollments_blurb_2: "require a license to access the courses." # {change}
credits_available: "Credits Available" credits_available: "Licenses Available" # {change}
total_unique_students: "Total Students (unique)" # {change} total_unique_students: "Total Students" # {change}
total_enrolled_students: "Total Enrolled" # {change} total_enrolled_students: "Enrolled Students" # {change}
unenrolled_students: "Unenrolled Students" unenrolled_students: "Unenrolled Students"
add_enrollment_credits: "Add Enrollment Credits" add_enrollment_credits: "Add Licenses" # {change}
purchasing: "Purchasing..." purchasing: "Purchasing..."
purchased: "Purchased!" purchased: "Purchased!"
purchase_now: "Purchase Now" purchase_now: "Purchase Now"
@ -1422,12 +1408,12 @@
enter_new_password_below: "Enter new password below:" enter_new_password_below: "Enter new password below:"
change_password: "Change Password" change_password: "Change Password"
changed: "Changed" changed: "Changed"
available_credits: "Available Credits" available_credits: "Available Licenses" # {change}
pending_credits: "Pending Credits" pending_credits: "Pending Licenses" # {change}
credits: "credits" credits: "licenses" # {change}
start_date: "start date:" start_date: "start date:"
end_date: "end date:" end_date: "end date:"
num_enrollments_needed: "Number of enrollments needed:" num_enrollments_needed: "Number of licenses needed:" # {change}
get_enrollments_blurb: " We'll help you build a solution that meets the needs of your class, school or district." get_enrollments_blurb: " We'll help you build a solution that meets the needs of your class, school or district."
enroll_request_sent_blurb1: "Thanks! Your request has been sent." enroll_request_sent_blurb1: "Thanks! Your request has been sent."
enroll_request_sent_blurb2: "Our classroom success team will be in touch shortly to help you find the best solution for your students' needs!" enroll_request_sent_blurb2: "Our classroom success team will be in touch shortly to help you find the best solution for your students' needs!"

View file

@ -7,9 +7,51 @@ block modal-header-content
h4 #{view.user.get('name') || 'Unnamed'} / #{view.user.get('email')} h4 #{view.user.get('name') || 'Unnamed'} / #{view.user.get('email')}
span= view.user.id span= view.user.id
block modal-body-content block modal-body-content
h3.m-t-3 Grant Student Licenses
#prepaid-form.form
if view.state === 'creating-prepaid'
.progress.progress-striped.active
.progress-bar(style="width: 100%")
else if view.state === 'made-prepaid'
.alert.alert-success Licenses created!
else
.form-group
label Number of Licenses
input#seats-input.form-control(type="number", name="maxRedeemers")
.form-group
label Start Date
input.form-control(type="date" name="startDate" value=moment().format('YYYY-MM-DD'))
.form-group
label End Date
input.form-control(type="date" name="endDate" value=moment().add(1, 'year').format('YYYY-MM-DD')))
.form-group
button#add-seats-btn.btn.btn-primary Add Licenses
if view.prepaids.size()
h3.m-t-3 Existing Prepaids
table.table.table-condensed
tr
th ID
th Type
th Start
th End
th Used
for prepaid in view.prepaids.models
tr
td= prepaid.id
td= prepaid.get('type')
td
if prepaid.get('startDate')
= moment(prepaid.get('startDate')).utc().format('lll')
td
if prepaid.get('endDate')
= moment(prepaid.get('endDate')).utc().format('lll')
td #{(prepaid.get('redeemers') || []).length} / #{prepaid.get('maxRedeemers') || 0}
h3 Stripe Benefit h3 Stripe Benefit
.form .form
.form-group .form-group
@ -34,50 +76,5 @@ block modal-body-content
for coupon in view.coupons.models for coupon in view.coupons.models
option(value=coupon.id selected=coupon.id===view.currentCouponID)= coupon.formatString() option(value=coupon.id selected=coupon.id===view.currentCouponID)= coupon.formatString()
button#save-changes.btn.btn-primary Save Changes button#save-changes.btn.btn-primary Save Changes
if view.prepaids.size()
h3.m-t-3 Existing Prepaids
table.table.table-condensed
tr
th ID
th Type
th Start
th End
th Used
for prepaid in view.prepaids.models
tr
td= prepaid.id
td= prepaid.get('type')
td
if prepaid.get('startDate')
= moment(prepaid.get('startDate')).utc().format('lll')
td
if prepaid.get('endDate')
= moment(prepaid.get('endDate')).utc().format('lll')
td #{(prepaid.get('redeemers') || []).length} / #{prepaid.get('maxRedeemers') || 0}
h3.m-t-3 Grant Prepaid for Courses
#prepaid-form.form
if view.state === 'creating-prepaid'
.progress.progress-striped.active
.progress-bar(style="width: 100%")
else if view.state === 'made-prepaid'
.alert.alert-success Prepaid created!
else
.form-group
label Seats
input#seats-input.form-control(type="number", name="maxRedeemers")
.form-group
label Start Date
input.form-control(type="date" name="startDate" value=moment().format('YYYY-MM-DD'))
.form-group
label End Date
input.form-control(type="date" name="endDate" value=moment().add(1, 'year').format('YYYY-MM-DD')))
.form-group
button#add-seats-btn.btn.btn-primary Add Seats
block modal-footer
block modal-footer

View file

@ -149,7 +149,7 @@ block content
h3 Classroom Monthly Active Users 365 days h3 Classroom Monthly Active Users 365 days
.classroom-monthly-active-users-chart-365.line-chart-container .classroom-monthly-active-users-chart-365.line-chart-container
h3 Enrollments Issued and Redeemed 90 days h3 Licenses Issued and Redeemed 90 days
.paid-courses-chart.line-chart-container .paid-courses-chart.line-chart-container
#furthest-course #furthest-course
@ -282,14 +282,14 @@ block content
each eventName in eventNames each eventName in eventNames
td= activeUser.events[eventName] || 0 td= activeUser.events[eventName] || 0
h1#enrollments-table Enrollments h1#enrollments-table Licenses
table.table.table-striped.table-condensed table.table.table-striped.table-condensed
tr tr
th Day th Day
th Paid Enrollments Issued th Paid Licenses Issued
th Paid Enrollments Redeemed th Paid Licenses Redeemed
th Trial Enrollments Issued th Trial Licenses Issued
th Trial Enrollments Redeemed th Trial Licenses Redeemed
each day in view.enrollmentDays each day in view.enrollmentDays
tr tr
td= day td= day

View file

@ -70,6 +70,6 @@ block modal-body-content
span.spl(data-i18n="courses.students1") span.spl(data-i18n="courses.students1")
p p
a#get-more-licenses-btn.btn.btn-lg.btn-primary-alt(href="/teachers/enrollments", data-i18n="courses.get_enrollments") a#get-more-licenses-btn.btn.btn-lg.btn-primary-alt(href="/teachers/licenses", data-i18n="courses.get_enrollments")
block modal-footer-content block modal-footer-content

View file

@ -18,8 +18,8 @@
li(class= path.indexOf('/teachers/courses') === 0 ? 'active' : '') li(class= path.indexOf('/teachers/courses') === 0 ? 'active' : '')
a(href='/teachers/courses') a(href='/teachers/courses')
small.label(data-i18n='teacher.courses') small.label(data-i18n='teacher.courses')
li(class= path.indexOf('/teachers/enrollments') === 0 ? 'active' : '') li(class= path.indexOf('/teachers/licenses') === 0 ? 'active' : '')
a(href='/teachers/enrollments') a(href='/teachers/licenses')
small.label(data-i18n='teacher.enrollments') small.label(data-i18n='teacher.enrollments')
//- li(class= path.indexOf('TODO') === 0 ? 'active' : '') //- li(class= path.indexOf('TODO') === 0 ? 'active' : '')
//- a(href='TODO') //- a(href='TODO')

View file

@ -116,4 +116,4 @@ module.exports = class ActivateLicensesModal extends ModalView
@trigger 'redeem-users', @state.get('selectedUsers') @trigger 'redeem-users', @state.get('selectedUsers')
onClickGetMoreLicensesButton: -> onClickGetMoreLicensesButton: ->
@hide?() # In case this is opened in /teachers/enrollments itself, otherwise the button does nothing @hide?() # In case this is opened in /teachers/licenses itself, otherwise the button does nothing

View file

@ -33,7 +33,7 @@ module.exports = class TeachersContactModal extends ModalView
Your Name: #{props.name || ''} Your Name: #{props.name || ''}
Enrollments Needed: #{@enrollmentsNeeded} Enrollments Needed: #{@enrollmentsNeeded}
Message: Hi CodeCombat! I want to learn more about the Classroom experience and get enrollments so that my students can access Computer Science 2 and on. Message: Hi CodeCombat! I want to learn more about the Classroom experience and get licenses so that my students can access Computer Science 2 and on.
""" """
email = props.email or me.get('email') or '' email = props.email or me.get('email') or ''
@state.set('formValues', { email, message }) @state.set('formValues', { email, message })

View file

@ -36,7 +36,7 @@ module.exports =
redeem: wrap (req, res) -> redeem: wrap (req, res) ->
if not req.user?.isTeacher() if not req.user?.isTeacher()
throw new errors.Forbidden('Must be a teacher to use enrollments') throw new errors.Forbidden('Must be a teacher to use licenses')
prepaid = yield database.getDocFromHandle(req, Prepaid) prepaid = yield database.getDocFromHandle(req, Prepaid)
if not prepaid if not prepaid
@ -45,7 +45,7 @@ module.exports =
if prepaid._id.getTimestamp().getTime() < cutoffDate.getTime() if prepaid._id.getTimestamp().getTime() < cutoffDate.getTime()
throw new errors.Forbidden('Cannot redeem from prepaids older than November 11, 2015') throw new errors.Forbidden('Cannot redeem from prepaids older than November 11, 2015')
unless prepaid.get('creator').equals(req.user._id) unless prepaid.get('creator').equals(req.user._id)
throw new errors.Forbidden('You may not redeem enrollments from this prepaid') throw new errors.Forbidden('You may not redeem licenses from this prepaid')
if prepaid.get('redeemers')? and _.size(prepaid.get('redeemers')) >= prepaid.get('maxRedeemers') if prepaid.get('redeemers')? and _.size(prepaid.get('redeemers')) >= prepaid.get('maxRedeemers')
throw new errors.Forbidden('This prepaid is exhausted') throw new errors.Forbidden('This prepaid is exhausted')
unless prepaid.get('type') is 'course' unless prepaid.get('type') is 'course'

View file

@ -115,7 +115,7 @@ describe 'GET /db/level/:handle/session', ->
expect(res.statusCode).toBe(200) expect(res.statusCode).toBe(200)
done() done()
it 'returns 402 if the user\'s enrollment is expired', utils.wrap (done) -> it 'returns 402 if the user\'s license is expired', utils.wrap (done) ->
@student.set({ @student.set({
coursePrepaid: { coursePrepaid: {
_id: {} _id: {}

View file

@ -109,7 +109,7 @@ describe 'POST /db/prepaid/:handle/redeemers', ->
yield utils.loginUser(@otherTeacher) yield utils.loginUser(@otherTeacher)
[res, body] = yield request.postAsync({uri: @url, json: { userID: @student.id } }) [res, body] = yield request.postAsync({uri: @url, json: { userID: @student.id } })
expect(res.statusCode).toBe(403) expect(res.statusCode).toBe(403)
expect(res.body.message).toBe('You may not redeem enrollments from this prepaid') expect(res.body.message).toBe('You may not redeem licenses from this prepaid')
done() done()
it 'returns 403 if the prepaid is expired', utils.wrap (done) -> it 'returns 403 if the prepaid is expired', utils.wrap (done) ->
@ -143,7 +143,7 @@ describe 'POST /db/prepaid/:handle/redeemers', ->
expect(student.get('coursePrepaid')._id.equals(@prepaid._id)).toBe(true) expect(student.get('coursePrepaid')._id.equals(@prepaid._id)).toBe(true)
done() done()
it 'updates the user if their enrollment is expired', utils.wrap (done) -> it 'updates the user if their license is expired', utils.wrap (done) ->
yield utils.loginUser(@admin) yield utils.loginUser(@admin)
prepaid = yield utils.makePrepaid({ prepaid = yield utils.makePrepaid({
creator: @teacher.id creator: @teacher.id

View file

@ -65,10 +65,10 @@ describe 'EnrollmentsView', ->
if @view.$('#actions-col').length isnt 1 if @view.$('#actions-col').length isnt 1
fail('There should be an #action-col, other tests depend on it.') fail('There should be an #action-col, other tests depend on it.')
describe '"Get Enrollments" area', -> describe '"Get Licenses" area', ->
describe '"Contact Us" button', -> describe '"Contact Us" button', ->
it 'opens a TeachersContactModal, passing in the number of enrollments', -> it 'opens a TeachersContactModal, passing in the number of licenses', ->
spyOn(@view, 'openModalView') spyOn(@view, 'openModalView')
@view.state.set('numberOfStudents', 20) @view.state.set('numberOfStudents', 20)
@view.$('#contact-us-btn').click() @view.$('#contact-us-btn').click()
@ -86,7 +86,7 @@ describe 'EnrollmentsView', ->
if not @view.$('#request-sent-btn').length if not @view.$('#request-sent-btn').length
fail('Request button not found.') fail('Request button not found.')
if not @view.$('#enrollment-request-sent-blurb').length if not @view.$('#enrollment-request-sent-blurb').length
fail('Enrollment request sent blurb not found.') fail('License request sent blurb not found.')
# TODO: Figure out why this fails in Travis. Seems like it's not loading en locale # TODO: Figure out why this fails in Travis. Seems like it's not loading en locale
# if not @view.$('a[href="mailto:schools@codecombat.com"]').length # if not @view.$('a[href="mailto:schools@codecombat.com"]').length
# fail('Mailto: link not found.') # fail('Mailto: link not found.')

View file

@ -82,7 +82,7 @@ describe 'ActivateLicensesModal', ->
it 'should fire off one request when clicked' it 'should fire off one request when clicked'
describe 'when the teacher has enough enrollments', -> describe 'when the teacher has enough licenses', ->
beforeEach -> beforeEach ->
selected = @modal.state.get('selectedUsers') selected = @modal.state.get('selectedUsers')
selected.remove(selected.first()) selected.remove(selected.first())
@ -103,12 +103,12 @@ describe 'ActivateLicensesModal', ->
if request.url.indexOf(@prepaidThatExpiresLater.id) is -1 if request.url.indexOf(@prepaidThatExpiresLater.id) is -1
fail('The second prepaid should be the prepaid that expires later') fail('The second prepaid should be the prepaid that expires later')
describe 'when the teacher doesn\'t have enough enrollments', -> describe 'when the teacher doesn\'t have enough licenses', ->
it 'should be disabled', -> it 'should be disabled', ->
expect(@modal.$('#activate-licenses-btn').hasClass('disabled')).toBe(true) expect(@modal.$('#activate-licenses-btn').hasClass('disabled')).toBe(true)
describe 'the Purchase More button', -> describe 'the Purchase More button', ->
it 'should redirect to the enrollment purchasing page' it 'should redirect to the license purchasing page'
@ -122,7 +122,7 @@ describe 'ActivateLicensesModal', ->
# it 'should display the correct total number of credits', -> # it 'should display the correct total number of credits', ->
# expect(@modal.$('#total-available').html()).toBe('2') # expect(@modal.$('#total-available').html()).toBe('2')
# #
# it 'should be disabled when teacher doesn\'t have enough enrollments', -> # it 'should be disabled when teacher doesn\'t have enough licenses', ->
# expect(@modal.$('#total-available').html()).toBe('2') # expect(@modal.$('#total-available').html()).toBe('2')
# #
# #