Esempio n. 1
0
class DatetimeWidgetTests(unittest.TestCase):
    def setUp(self):
        from Products.Archetypes.Widget import DatetimeWidget
        self.request = TestRequest(environ={'HTTP_ACCEPT_LANGUAGE': 'en'})
        self.context = Mock()
        self.field = Mock()
        self.field.getAccessor.return_value = lambda: DateTime(
            '2013-11-13 10:20 Europe/Amsterdam')
        self.field.getName.return_value = 'fieldname'
        self.widget = DatetimeWidget()

    def test_widget(self):
        current_year = datetime.today().year
        self.assertEqual(
            {
                'pattern': 'pickadate',
                'value': '2013-11-13 10:20',
                'name': 'fieldname',
                'pattern_options': {
                    'date': {
                        'firstDay':
                        0,
                        'min': [current_year - 100, 1, 1],
                        'max': [current_year + 20, 1, 1],
                        'format':
                        'mmmm d, yyyy',
                        'monthsFull': [
                            u'January', u'February', u'March', u'April',
                            u'May', u'June', u'July', u'August', u'September',
                            u'October', u'November', u'December'
                        ],
                        'weekdaysShort': [
                            u'Sun', u'Mon', u'Tue', u'Wed', u'Thu', u'Fri',
                            u'Sat'
                        ],
                        'weekdaysFull': [
                            u'Sunday', u'Monday', u'Tuesday', u'Wednesday',
                            u'Thursday', u'Friday', u'Saturday'
                        ],
                        'selectYears':
                        200,
                        'placeholder':
                        u'Enter date...',
                        'monthsShort': [
                            u'Jan', u'Feb', u'Mar', u'Apr', u'May', u'Jun',
                            u'Jul', u'Aug', u'Sep', u'Oct', u'Nov', u'Dec'
                        ]
                    },
                    'time': {
                        'placeholder': u'Enter time...',
                        'format': 'h:i a'
                    },
                    'today': u'Today',
                    'clear': u'Clear',
                }
            },
            self.widget._base_args(self.context, self.field, self.request),
        )

    def test_process_form(self):
        form = {
            'fieldname': '2011-11-22 13:30',
        }
        self.assertEqual(
            self.widget.process_form(self.context, self.field,
                                     form)[0].asdatetime(),
            (datetime(2011, 11, 22, 13, 30)))

    def test_process_form_empty_existing(self):
        form = {'fieldname': ''}
        self.assertEqual(
            self.widget.process_form(self.context, self.field, form)[0], None)
class DatetimeWidgetTests(unittest.TestCase):

    def setUp(self):
        from Products.Archetypes.Widget import DatetimeWidget
        self.request = TestRequest(environ={'HTTP_ACCEPT_LANGUAGE': 'en'})
        self.context = Mock()
        self.field = Mock()
        self.field.getAccessor.return_value = lambda: DateTime(
            '2013-11-13 10:20 Europe/Amsterdam'
        )
        self.field.getName.return_value = 'fieldname'
        self.widget = DatetimeWidget()

    def test_widget(self):
        current_year = datetime.today().year
        self.assertEqual(
            {
                'pattern': 'pickadate',
                'value': '2013-11-13 10:20',
                'name': 'fieldname',
                'pattern_options': {
                    'date': {
                        'firstDay': 0,
                        'min': [current_year - 100, 1, 1],
                        'max': [current_year + 20, 1, 1],
                        'clear': u'Clear',
                        'format': 'mmmm d, yyyy',
                        'monthsFull': [u'January', u'February', u'March',
                                       u'April', u'May', u'June', u'July',
                                       u'August', u'September', u'October',
                                       u'November', u'December'],
                        'weekdaysShort': [u'Sun', u'Mon', u'Tue', u'Wed',
                                          u'Thu', u'Fri', u'Sat'],
                        'weekdaysFull': [u'Sunday', u'Monday', u'Tuesday',
                                         u'Wednesday', u'Thursday', u'Friday',
                                         u'Saturday'],
                        'today': u'Today',
                        'selectYears': 200,
                        'placeholder': u'Enter date...',
                        'monthsShort': [u'Jan', u'Feb', u'Mar', u'Apr', u'May',
                                        u'Jun', u'Jul', u'Aug', u'Sep', u'Oct',
                                        u'Nov', u'Dec']
                    },
                    'time': {
                        'placeholder': u'Enter time...',
                        'today': u'Today',
                        'format': 'h:i a'
                    }
                }
            },
            self.widget._base_args(self.context, self.field, self.request),
        )

    def test_process_form(self):
        form = {
            'fieldname': '2011-11-22 13:30',
        }
        self.assertEqual(
            self.widget.process_form(
                self.context, self.field, form)[0].asdatetime(),
            (datetime(2011, 11, 22, 13, 30))
        )