Пример #1
0
    def clean_data(data):
        prepared_data = {'base_id': data['id'],
                         'act_type': data['type'],
                         'model_type': data['modelType'],
                         'contract_type': data['contractType'],
                         'description': data['contractDesignation'],
                         'announcement_number': data['announcementNumber'],
                         'dre_url': data['reference'],
                         'publication_date': data['drPublicationDate'],
                         'deadline_date': data['proposalDeadline'],
                         'cpvs': data['cpvs'],
                         'category': data['cpvs'],
                         'price': data['basePrice'],
                         'contractors': data['contractingEntities']}

        prepared_data['publication_date'] = \
            TenderForm.prepare_publication_date(prepared_data)
        form = TenderForm(prepared_data)

        if not form.is_valid():
            logger.error('Validation of tender "%d" failed' %
                         data['id'])
            raise ValidationError(form.errors)

        return form.cleaned_data
    def test_deadline(self):
        form = TenderForm()

        date = datetime.date(year=2010, month=8, day=12)
        timedelta = datetime.timedelta(days=10)
        form.cleaned_data = {
            'publication_date': date,
            'deadline_date': timedelta
        }

        self.assertEqual(date + timedelta, form.clean_deadline_date())

        # should not raise ValidationError because other clean will do it.
        form.cleaned_data = {'deadline_date': timedelta}
        form.clean_deadline_date()