コード例 #1
0
 def setUp(self):
     self.tender_data = {
         "id": "ae50ea25bb1349898600ab380ee74e57",
         "dateModified": "2016-04-18T11:26:10.320970+03:00",
         "status": "draft",
         "tenderID": "UA-2016-04-18-000003",
     }
     self.lots = [
         Lot(
             {
                 "id": "11111111111111111111111111111111",
                 "title": "Earth",
                 "value": {"amount": 500000},
                 "minimalStep": {"amount": 1000},
             }
         ),
         Lot(
             {
                 "id": "22222222222222222222222222222222",
                 "title": "Mars",
                 "value": {"amount": 600000},
                 "minimalStep": {"amount": 2000},
             }
         ),
     ]
     self.items = [Item({"description": "Some item", "relatedLot": "11111111111111111111111111111111"})]
コード例 #2
0
 def setUp(self):
     self.tender_data = {
         'id': 'ae50ea25bb1349898600ab380ee74e57',
         'dateModified': '2016-04-18T11:26:10.320970+03:00',
         'status': 'draft',
         'tenderID': 'UA-2016-04-18-000003'
     }
     self.lots = [
         Lot({
             'id': '11111111111111111111111111111111',
             'title': 'Earth',
             'value': {
                 'amount': 500000
             },
             'minimalStep': {
                 'amount': 1000
             }
         }),
         Lot({
             'id': '22222222222222222222222222222222',
             'title': 'Mars',
             'value': {
                 'amount': 600000
             },
             'minimalStep': {
                 'amount': 2000
             }
         })
     ]
     self.items = [
         Item({
             'description': 'Some item',
             'relatedLot': '11111111111111111111111111111111'
         })
     ]
コード例 #3
0
class TestItemValidation(unittest.TestCase):
    model = Item()
    classification = MagicMock(spec=AdditionalClassification)
    classification.scheme.return_value = 'fake_code'
    date_mock = MagicMock()
    tender = MagicMock(spec=Tender)
    data = {'__parent__': tender, 'classification': {'id': '33651680-8'}}
    classifications = [classification]

    def test_validate_item_classification(self):
        self.tender.get.return_value = []

        if get_now() > GROUP_336_FROM:
            # for 336 code group
            with self.assertRaises(ValidationError) as e:
                self.model.validate_additionalClassifications(self.data, [])
            self.assertEqual(e.exception.message, [u"This field is required."])

        self.tender.get.return_value = [self.date_mock]
        if get_now() > GROUP_336_FROM:
            with self.assertRaises(ValidationError) as e:
                self.model.validate_additionalClassifications(self.data, [])
            self.assertEqual(e.exception.message, [u"This field is required."])

        with self.assertRaises(ValidationError) as e:
            self.model.validate_additionalClassifications(
                self.data, self.classifications)
        self.assertEqual(e.exception.message, [
            u"One of additional classifications should be one of [{0}].".
            format(', '.join(ADDITIONAL_CLASSIFICATIONS_SCHEMES))
        ])

        self.date_mock.date.return_value = datetime(2017, 3, 1, tzinfo=TZ)
        self.tender.get.return_value = False
        if get_now() > GROUP_336_FROM:
            with self.assertRaises(ValidationError) as e:
                self.model.validate_additionalClassifications(
                    self.data, self.classifications)
            self.assertEqual(
                e.exception.message,
                [u"One of additional classifications should be INN."])

        self.data['classification'] = {'id': '99999999-9'}
        with self.assertRaises(ValidationError) as e:
            self.model.validate_additionalClassifications(
                self.data, self.classifications)
        self.assertEqual(e.exception.message, [
            u"One of additional classifications should be one of [{0}].".
            format(', '.join(ADDITIONAL_CLASSIFICATIONS_SCHEMES_2017))
        ])