def test_post_tender_plan_success(app, tender, plan): response = app.post_json( "/tenders/{}/plans?acc_token={}".format(tender["data"]["id"], tender["access"]["token"]), {"data": { "id": plan["data"]["id"] }}, ) assert response.json["data"] == [{'id': plan["data"]["id"]}] response = app.get("/tenders/{}".format(tender["data"]["id"])) assert response.json["data"]["dateModified"] > tender["data"][ "dateModified"] response = app.get("/plans/{}".format(plan["data"]["id"])) assert response.json["data"]["tender_id"] == tender["data"]["id"] assert response.json["data"]["dateModified"] > plan["data"]["dateModified"] # second plan response = app.post_json("/plans", {"data": deepcopy(test_plan_data)}) another_plan = response.json response = app.post_json( "/tenders/{}/plans?acc_token={}".format(tender["data"]["id"], tender["access"]["token"]), {"data": { "id": another_plan["data"]["id"] }}, ) assert response.json["data"] == [{ 'id': plan["data"]["id"] }, { 'id': another_plan["data"]["id"] }]
def search_complaint(app, query=None, auth=("Basic", ("bot", "bot")), status=200): url = "/complaints/search" if query: url = "{}?{}".format(url, query) with change_auth(app, auth): response = app.get(url, status=status) assert response.status_code == status return response
def test_get_tender_plans_404(app): response = app.get("/tenders/{}/plans".format("a" * 32), status=404) assert response.json == { "status": "error", "errors": [{ "location": "url", "name": "tender_id", "description": "Not Found" }] }
def test_complaint_value_change(app): """ value should be calculated only once for a complaint """ test_tender_data["value"]["amount"] = 1000 # we want minimum complaint value tender = create_tender(app, test_tender_data) with patch("openprocurement.tender.core.models.RELEASE_2020_04_19", get_now() - timedelta(days=1)): response = app.post_json( "/tenders/{}/complaints".format(tender["data"]["id"]), {"data": complaint_data}, ) response_data = response.json["data"] assert "value" in response_data expected_value = {"currency": "UAH", "amount": COMPLAINT_MIN_AMOUNT} assert response_data["value"] == expected_value # if we deploy new constant values the value shouldn't change with patch("openprocurement.tender.core.models.COMPLAINT_MIN_AMOUNT", 40): response = app.get("/tenders/{}".format(tender["data"]["id"])) complaint = response.json["data"].get("complaints")[0] assert complaint["value"] == expected_value
def test_get_tender_plans_empty(app, tender): response = app.get("/tenders/{}/plans".format(tender["data"]["id"])) assert response.status == "200 OK" assert response.json == {"data": []}