Skip to content
Snippets Groups Projects
Commit acc3a9bf authored by Awais Jibran's avatar Awais Jibran Committed by GitHub
Browse files

Merge pull request #12713 from edx/aj/ecom4650-fix-remove-exception

Fix remove user from cert-exception list
parents 2336c584 8d40dcd0
No related branches found
No related tags found
No related merge requests found
......@@ -831,6 +831,34 @@ class CertificatesTest(BaseInstructorDashboardTest):
self.assertIn(self.user_name, self.certificates_section.last_certificate_exception.text)
self.assertIn(notes, self.certificates_section.last_certificate_exception.text)
def test_remove_certificate_exception_on_page_reload(self):
"""
Scenario: On the Certificates tab of the Instructor Dashboard, Instructor can remove added certificate
exceptions from the list.
Given that I am on the Certificates tab on the Instructor Dashboard
When I fill in student username and notes fields and click 'Add Exception' button
Then new certificate exception should be visible in certificate exceptions list
Revisit the page to make sure exceptions are synced.
Remove the user from the exception list should remove the user from the list.
"""
notes = 'Test Notes'
# Add a student to Certificate exception list
self.certificates_section.add_certificate_exception(self.user_name, notes)
self.assertIn(self.user_name, self.certificates_section.last_certificate_exception.text)
self.assertIn(notes, self.certificates_section.last_certificate_exception.text)
# Verify that added exceptions are also synced with backend
# Revisit Page
self.certificates_section.refresh()
# Remove Certificate Exception
self.certificates_section.remove_first_certificate_exception()
self.assertNotIn(self.user_name, self.certificates_section.last_certificate_exception.text)
self.assertNotIn(notes, self.certificates_section.last_certificate_exception.text)
def test_instructor_can_remove_certificate_exception(self):
"""
Scenario: On the Certificates tab of the Instructor Dashboard, Instructor can remove added certificate
......
......@@ -24,11 +24,9 @@
certificate_generated: '',
notes: ''
},
url: function() {
return this.get('url');
initialize: function (attributes, options) {
this.url = options.url;
},
validate: function(attrs){
if (!str.trim(attrs.user_name) && !str.trim(attrs.user_email)) {
return gettext('Student username/email field is required and can not be empty. ' +
......
......@@ -44,13 +44,17 @@
model = {user_name: user_name};
}
var certificate_exception = new CertificateExceptionModel({
url: this.collection.url,
user_name: user_name,
user_email: user_email,
notes: notes,
new: true
});
var certificate_exception = new CertificateExceptionModel(
{
user_name: user_name,
user_email: user_email,
notes: notes,
new: true
},
{
url: this.collection.url
}
);
var message = "";
if(this.collection.findWhere(model)){
......
......@@ -30,7 +30,7 @@ define([
beforeEach(function() {
certificate_exception = new CertificateExceptionModel({user_name: 'test_user'});
certificate_exception = new CertificateExceptionModel({user_name: 'test_user'}, {url: 'test/url/'});
certificate_exception.set({
notes: "Test notes"
});
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment