From 60f03f5dcc4a787b6a6a0903129a7c8d0cf839c4 Mon Sep 17 00:00:00 2001 From: Chris Dodge Date: Thu, 25 Jul 2013 15:04:07 -0400 Subject: [PATCH] fixing tests --- .../contentstore/tests/test_contentstore.py | 20 ++++--- cms/djangoapps/contentstore/views/course.py | 1 + cms/static/js/base.js | 59 ++++++++----------- 3 files changed, 37 insertions(+), 43 deletions(-) diff --git a/cms/djangoapps/contentstore/tests/test_contentstore.py b/cms/djangoapps/contentstore/tests/test_contentstore.py index 1928ac4b7f..f62f71c665 100644 --- a/cms/djangoapps/contentstore/tests/test_contentstore.py +++ b/cms/djangoapps/contentstore/tests/test_contentstore.py @@ -967,23 +967,25 @@ class ContentStoreTest(ModuleStoreTestCase): """Test new course creation - happy path""" self.assert_created_course() - def assert_created_course(self): + def assert_created_course(self, number_suffix=None): """ Checks that the course was created properly. """ - resp = self.client.post(reverse('create_new_course'), self.course_data) + test_course_data = {} + test_course_data.update(self.course_data) + if number_suffix: + test_course_data['number'] = '{0}_{1}'.format(test_course_data['number'], number_suffix) + resp = self.client.post(reverse('create_new_course'), test_course_data) self.assertEqual(resp.status_code, 200) data = parse_json(resp) - self.assertEqual(data['id'], 'i4x://MITx/999/course/2013_Spring') + self.assertNotIn('ErrMsg', data) + self.assertEqual(data['id'], 'i4x://MITx/{0}/course/2013_Spring'.format(test_course_data['number'])) + return test_course_data def test_create_course_check_forum_seeding(self): """Test new course creation and verify forum seeding """ - self.assert_created_course() - resp = self.client.post(reverse('create_new_course'), self.course_data) - self.assertEqual(resp.status_code, 200) - data = parse_json(resp) - self.assertEqual(data['id'], 'i4x://MITx/999/course/2013_Spring') - self.assertTrue(are_permissions_roles_seeded('MITx/999/Robot_Super_Course')) + test_course_data = self.assert_created_course(number_suffix=uuid4().hex) + self.assertTrue(are_permissions_roles_seeded('MITx/{0}/Robot_Super_Course'.format(test_course_data['number']))) def test_create_course_duplicate_course(self): """Test new course creation - error path""" diff --git a/cms/djangoapps/contentstore/views/course.py b/cms/djangoapps/contentstore/views/course.py index b2c3251e5a..03d2e9214f 100644 --- a/cms/djangoapps/contentstore/views/course.py +++ b/cms/djangoapps/contentstore/views/course.py @@ -3,6 +3,7 @@ Views related to operations on course objects """ import json import random +import logging import string # pylint: disable=W0402 from django.contrib.auth.decorators import login_required diff --git a/cms/static/js/base.js b/cms/static/js/base.js index 10464cf51c..0043f86446 100644 --- a/cms/static/js/base.js +++ b/cms/static/js/base.js @@ -610,31 +610,23 @@ function addNewCourse(e) { }, checkForCancel); } +function setNewCourseFieldInErr(el, msg) +{ + el.children('.tip-error').remove(); + if (msg !== null && msg !== '') { + el.addClass('error'); + el.append('' + msg + ''); + } else { + el.removeClass('error'); + } +} + function setNewCourseFieldsInErr(display_name_errMsg, org_errMsg, number_errMsg, run_errMsg) { - if (display_name_errMsg !== null && display_name_errMsg !== '') { - $('#field-course-name').addClass('error'); - } else { - $('#field-course-name').removeClass('error'); - } - - if (org_errMsg !== null && org_errMsg !== '') { - $('#field-organization').addClass('error'); - } else { - $('#field-organization').removeClass('error'); - } - - if (number_errMsg !== null && number_errMsg !== '') { - $('#field-course-number').addClass('error'); - } else { - $('#field-course-number').removeClass('error'); - } - - if (run_errMsg !== null && run_errMsg !== '') { - $('#field-course-run').addClass('error'); - } else { - $('#field-course-run').removeClass('error'); - } + setNewCourseFieldInErr($('#field-course-name'), display_name_errMsg); + setNewCourseFieldInErr($('#field-organization'), org_errMsg); + setNewCourseFieldInErr($('#field-course-number'), number_errMsg); + setNewCourseFieldInErr($('#field-course-run'), run_errMsg); } function saveNewCourse(e) { @@ -659,11 +651,10 @@ function saveNewCourse(e) { if (header_err_msg) { $('.wrap-error').addClass('is-shown'); - - if (header_err_msg) - $('#course_creation_error').html('

' + header_err_msg + '

'); - else - $('#course_creation_error').html(''); + $('#course_creation_error').html('

' + header_err_msg + '

'); + } else { + $('.wrap-error').removeClass('is-shown'); + $('#course_creation_error').html(''); } setNewCourseFieldsInErr(display_name_errMsg, org_errMsg, number_errMsg, run_errMsg); @@ -684,14 +675,14 @@ function saveNewCourse(e) { 'display_name': display_name, 'run': run }, - function(data) { - if (data.id !== undefined) { - window.location = '/' + data.id.replace(/.*:\/\//, ''); - } else if (data.ErrMsg !== undefined) { - alert(data.ErrMsg); + if (data.id !== undefined) { + window.location = '/' + data.id.replace(/.*:\/\//, ''); + } else if (data.ErrMsg !== undefined) { + alert(data.ErrMsg); + } } - }); + ); } function cancelNewCourse(e) {