Commit 34faf1b1 by Mariana

Release/due times no longer round to half hours.

Changed 'forceRoundTime' to 'false' in BaseDateEditor
Updated bok choy acceptance test 'studio.test_studio_outline.py:EditingSectionsTest.test_can_edit_subsections' to check times aren't rounded to the nearest half hour after saving

Also added myself to AUTHORS
parent d305ca76
...@@ -259,3 +259,4 @@ Afeef Janjua <janjua.afeef@gmail.com> ...@@ -259,3 +259,4 @@ Afeef Janjua <janjua.afeef@gmail.com>
Jacek Bzdak <jbzdak@gmail.com> Jacek Bzdak <jbzdak@gmail.com>
Jillian Vogel <pomegranited@gmail.com> Jillian Vogel <pomegranited@gmail.com>
Dan Powell <dan@abakas.com> Dan Powell <dan@abakas.com>
Mariana Araújo <simbelm.ne@gmail.com>
...@@ -194,7 +194,7 @@ define(['jquery', 'backbone', 'underscore', 'gettext', 'js/views/baseview', ...@@ -194,7 +194,7 @@ define(['jquery', 'backbone', 'underscore', 'gettext', 'js/views/baseview',
this.$('input.date').datepicker({'dateFormat': 'm/d/yy'}); this.$('input.date').datepicker({'dateFormat': 'm/d/yy'});
this.$('input.time').timepicker({ this.$('input.time').timepicker({
'timeFormat' : 'H:i', 'timeFormat' : 'H:i',
'forceRoundTime': true 'forceRoundTime': false
}); });
if (this.model.get(this.fieldName)) { if (this.model.get(this.fieldName)) {
DateUtils.setDate( DateUtils.setDate(
......
...@@ -763,9 +763,21 @@ class CourseOutlineModal(object): ...@@ -763,9 +763,21 @@ class CourseOutlineModal(object):
def has_release_date(self): def has_release_date(self):
return self.find_css("#start_date").present return self.find_css("#start_date").present
def has_release_time(self):
"""
Check if the input box for the release time exists in the subsection's settings window
"""
return self.find_css("#start_time").present
def has_due_date(self): def has_due_date(self):
return self.find_css("#due_date").present return self.find_css("#due_date").present
def has_due_time(self):
"""
Check if the input box for the due time exists in the subsection's settings window
"""
return self.find_css("#due_time").present
def has_policy(self): def has_policy(self):
return self.find_css("#grading_type").present return self.find_css("#grading_type").present
...@@ -790,6 +802,15 @@ class CourseOutlineModal(object): ...@@ -790,6 +802,15 @@ class CourseOutlineModal(object):
"{} is updated in modal.".format(property_name) "{} is updated in modal.".format(property_name)
).fulfill() ).fulfill()
def set_time(self, input_selector, time):
"""
Set `time` value to input pointed by `input_selector`
Not using the time picker to make sure it's not being rounded up
"""
self.page.q(css=input_selector).fill(time)
self.page.q(css=input_selector).results[0].send_keys(Keys.ENTER)
@property @property
def release_date(self): def release_date(self):
return self.find_css("#start_date").first.attrs('value')[0] return self.find_css("#start_date").first.attrs('value')[0]
...@@ -802,6 +823,20 @@ class CourseOutlineModal(object): ...@@ -802,6 +823,20 @@ class CourseOutlineModal(object):
self.set_date('release_date', "#start_date", date) self.set_date('release_date', "#start_date", date)
@property @property
def release_time(self):
"""
Returns the current value of the release time. Default is u'00:00'
"""
return self.find_css("#start_time").first.attrs('value')[0]
@release_time.setter
def release_time(self, time):
"""
Time is "HH:MM" string.
"""
self.set_time("#start_time", time)
@property
def due_date(self): def due_date(self):
return self.find_css("#due_date").first.attrs('value')[0] return self.find_css("#due_date").first.attrs('value')[0]
...@@ -813,6 +848,20 @@ class CourseOutlineModal(object): ...@@ -813,6 +848,20 @@ class CourseOutlineModal(object):
self.set_date('due_date', "#due_date", date) self.set_date('due_date', "#due_date", date)
@property @property
def due_time(self):
"""
Returns the current value of the release time. Default is u''
"""
return self.find_css("#due_time").first.attrs('value')[0]
@due_time.setter
def due_time(self, time):
"""
Time is "HH:MM" string.
"""
self.set_time("#due_time", time)
@property
def policy(self): def policy(self):
""" """
Select the grading format with `value` in the drop-down list. Select the grading format with `value` in the drop-down list.
......
...@@ -372,22 +372,30 @@ class EditingSectionsTest(CourseOutlineTest): ...@@ -372,22 +372,30 @@ class EditingSectionsTest(CourseOutlineTest):
# Verify fields # Verify fields
self.assertTrue(modal.has_release_date()) self.assertTrue(modal.has_release_date())
self.assertTrue(modal.has_release_time())
self.assertTrue(modal.has_due_date()) self.assertTrue(modal.has_due_date())
self.assertTrue(modal.has_due_time())
self.assertTrue(modal.has_policy()) self.assertTrue(modal.has_policy())
# Verify initial values # Verify initial values
self.assertEqual(modal.release_date, u'1/1/1970') self.assertEqual(modal.release_date, u'1/1/1970')
self.assertEqual(modal.release_time, u'00:00')
self.assertEqual(modal.due_date, u'') self.assertEqual(modal.due_date, u'')
self.assertEqual(modal.due_time, u'')
self.assertEqual(modal.policy, u'Not Graded') self.assertEqual(modal.policy, u'Not Graded')
# Set new values # Set new values
modal.release_date = '3/12/1972' modal.release_date = '3/12/1972'
modal.release_time = '04:01'
modal.due_date = '7/21/2014' modal.due_date = '7/21/2014'
modal.due_time = '23:39'
modal.policy = 'Lab' modal.policy = 'Lab'
modal.save() modal.save()
self.assertIn(u'Released: Mar 12, 1972', subsection.release_date) self.assertIn(u'Released: Mar 12, 1972', subsection.release_date)
self.assertIn(u'04:01', subsection.release_date)
self.assertIn(u'Due: Jul 21, 2014', subsection.due_date) self.assertIn(u'Due: Jul 21, 2014', subsection.due_date)
self.assertIn(u'23:39', subsection.due_date)
self.assertIn(u'Lab', subsection.policy) self.assertIn(u'Lab', subsection.policy)
def test_can_edit_section(self): def test_can_edit_section(self):
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment