def test_get_processed_params_must_return_date_fields_processed(self):
        scheduler = Scheduler(report='my_report_class')
        scheduler.set_params({'my_date': 'D-2', 'other_filter': 'other_value'})

        reference_date = date(2016, 4, 3)
        expected_param = {'my_date': date(2016, 4, 1), 'other_filter': 'other_value'}
        self.assertEqual(scheduler.get_processed_params(reference_date), expected_param)
    def test_get_processed_params_must_return_dictionary_with_parameters(self):
        scheduler = Scheduler()

        params = {'param1': 'First value'}

        scheduler.set_params(params)

        self.assertEqual(scheduler.get_processed_params(), params)
    def test_get_processed_params_must_return_dictionary_with_parameters(self):
        scheduler = Scheduler()

        params = {'param1': 'First value'}

        scheduler.set_params(params)

        self.assertEqual(scheduler.get_processed_params(), params)
    def test_set_params_must_serializer_info_and_store_on_params_attr(self):
        scheduler = Scheduler()

        params = {'teste': 'Alisson'}

        scheduler.set_params(params)

        expected_result = base64.b64encode(pickle.dumps(params))
        self.assertEqual(scheduler.params, expected_result)
    def test_set_params_must_serializer_info_and_store_on_params_attr(self):
        scheduler = Scheduler()

        params = {'teste': 'Alisson'}

        scheduler.set_params(params)

        expected_result = base64.b64encode(pickle.dumps(params))
        self.assertEqual(scheduler.params, expected_result)
    def test_process_must_use_given_reference_date(self):
        self._patch('onmydesk.models.Report.process')

        scheduler = Scheduler(report='my_report_class')
        scheduler.set_params({'my_date': 'D-2', 'other_filter': 'other_value'})

        my_date = date(2016, 5, 10)
        with mock.patch('onmydesk.models.Report.set_params') as set_params:
            scheduler.process(reference_date=my_date)
            set_params.assert_called_once_with({'my_date': date(2016, 5, 8), 'other_filter': 'other_value'})
    def test_get_processed_params_must_return_date_fields_processed(self):
        scheduler = Scheduler(report='my_report_class')
        scheduler.set_params({'my_date': 'D-2', 'other_filter': 'other_value'})

        reference_date = date(2016, 4, 3)
        expected_param = {
            'my_date': date(2016, 4, 1),
            'other_filter': 'other_value'
        }
        self.assertEqual(scheduler.get_processed_params(reference_date),
                         expected_param)
    def test_process_must_use_given_reference_date(self):
        self._patch('onmydesk.models.Report.process')

        scheduler = Scheduler(report='my_report_class')
        scheduler.set_params({'my_date': 'D-2', 'other_filter': 'other_value'})

        my_date = date(2016, 5, 10)
        with mock.patch('onmydesk.models.Report.set_params') as set_params:
            scheduler.process(reference_date=my_date)
            set_params.assert_called_once_with({
                'my_date': date(2016, 5, 8),
                'other_filter': 'other_value'
            })