Skip to content

Commit

Permalink
Added acceleration mode
Browse files Browse the repository at this point in the history
  • Loading branch information
kroman0 committed May 9, 2016
1 parent a08e3fb commit dbad704
Show file tree
Hide file tree
Showing 5 changed files with 31 additions and 7 deletions.
6 changes: 6 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,12 @@ python:
- "2.7"
services:
- couchdb
env:
global:
- TZ=Europe/Kiev
matrix:
- SANDBOX_MODE=
- SANDBOX_MODE=True
cache:
directories:
- eggs
Expand Down
10 changes: 7 additions & 3 deletions openprocurement/tender/limited/models.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from openprocurement.api.models import (
plain_role, view_role, create_role, edit_role, enquiries_role, listing_role,
Administrator_role, schematics_default_role, schematics_embedded_role,
chronograph_role, chronograph_view_role, draft_role,
chronograph_role, chronograph_view_role, draft_role, SANDBOX_MODE,
)
from openprocurement.api.models import (
Value, IsoDateTimeType, Document, Organization, SchematicsDocument,
Expand Down Expand Up @@ -143,6 +143,8 @@ class Options:
dateModified = IsoDateTimeType()
owner_token = StringType()
owner = StringType()
if SANDBOX_MODE:
procurementMethodDetails = StringType()

create_accreditation = 1
edit_accreditation = 2
Expand All @@ -151,8 +153,6 @@ class Options:
__parent__ = None
__name__ = ''

procurementMethodDetails = StringType(default='')

def __local_roles__(self):
return dict([('{}_{}'.format(self.owner, self.owner_token), 'tender_owner')])

Expand All @@ -177,6 +177,10 @@ def __acl__(self):
(Allow, '{}_{}'.format(self.owner, self.owner_token), 'edit_complaint'),
]

def validate_procurementMethodDetails(self, *args, **kw):
if self.mode and self.mode == 'test' and self.procurementMethodDetails and self.procurementMethodDetails != '':
raise ValidationError(u"procurementMethodDetails should be used with mode test")

def __repr__(self):
return '<%s:%r@%r>' % (type(self).__name__, self.id, self.rev)

Expand Down
7 changes: 7 additions & 0 deletions openprocurement/tender/limited/tests/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
import webtest
from copy import deepcopy
from datetime import datetime, timedelta
from openprocurement.api.models import SANDBOX_MODE
from openprocurement.api.utils import apply_data_patch
from openprocurement.api.tests.base import test_tender_data as base_data
from openprocurement.api.tests.base import BaseTenderWebTest, PrefixedRequestClass
Expand All @@ -16,15 +17,21 @@

test_tender_data['procurementMethodType'] = "reporting"
test_tender_data['procuringEntity']["kind"] = "general"
if SANDBOX_MODE:
test_tender_data['procurementMethodDetails'] = 'quick, accelerator=1440'

test_tender_negotiation_data = deepcopy(test_tender_data)
test_tender_negotiation_data['procurementMethodType'] = "negotiation"
test_tender_negotiation_data['cause'] = "twiceUnsuccessful"
test_tender_negotiation_data['causeDescription'] = "chupacabra"
if SANDBOX_MODE:
test_tender_negotiation_data['procurementMethodDetails'] = 'quick, accelerator=1440'

test_tender_negotiation_quick_data = deepcopy(test_tender_data)
test_tender_negotiation_quick_data['procurementMethodType'] = "negotiation.quick"
test_tender_negotiation_quick_data['causeDescription'] = "chupacabra"
if SANDBOX_MODE:
test_tender_negotiation_quick_data['procurementMethodDetails'] = 'quick, accelerator=1440'


class BaseTenderWebTest(BaseTenderWebTest):
Expand Down
4 changes: 2 additions & 2 deletions openprocurement/tender/limited/tests/contract.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
from iso8601 import parse_date
from datetime import timedelta

from openprocurement.api.models import get_now
from openprocurement.api.models import get_now, SANDBOX_MODE
from openprocurement.tender.limited.tests.base import (
BaseTenderContentWebTest, test_tender_data, test_tender_negotiation_data,
test_tender_negotiation_quick_data, test_organization)
Expand Down Expand Up @@ -408,7 +408,7 @@ def test_patch_tender_contract(self):
start = parse_date(award['complaintPeriod']['startDate'])
end = parse_date(award['complaintPeriod']['endDate'])
delta = end - start
self.assertEqual(delta.days, self.stand_still_period_days)
self.assertEqual(delta.days, 0 if SANDBOX_MODE else self.stand_still_period_days)

# at next steps we test to patch contract in 'complete' tender status
tender = self.db.get(self.tender_id)
Expand Down
11 changes: 9 additions & 2 deletions openprocurement/tender/limited/tests/tender.py
Original file line number Diff line number Diff line change
Expand Up @@ -567,8 +567,15 @@ def test_create_tender(self):
self.assertEqual(response.status, '201 Created')
self.assertEqual(response.content_type, 'application/json')
tender = response.json['data']
self.assertEqual(set(tender) - set(self.initial_data), set(
[u'id', u'dateModified', u'owner', u'tenderID', u'status', u'procurementMethod', u'procurementMethodDetails']))
tender_set = set(tender)
if 'procurementMethodDetails' in tender_set:
tender_set.remove('procurementMethodDetails')
if u'cause' in tender_set:
tender_set.remove(u'cause')
if u'causeDescription' in tender_set:
tender_set.remove(u'causeDescription')
self.assertEqual(tender_set - set(test_tender_data), set(
[u'id', u'dateModified', u'owner', u'tenderID', u'status', u'procurementMethod']))
self.assertIn(tender['id'], response.headers['Location'])

response = self.app.get('/tenders/{}'.format(tender['id']))
Expand Down

0 comments on commit dbad704

Please sign in to comment.