Commit d394c4cc375364e34b0473d18be55b8a310724ed

Authored by selurvedu
2 parents e7ab7e55 b4fed164

Merge pull request #134 from Leits/items

Create and delete items by item id
@@ -107,29 +107,18 @@ Library openprocurement_client_helper.py @@ -107,29 +107,18 @@ Library openprocurement_client_helper.py
107 [Return] ${tender} 107 [Return] ${tender}
108 108
109 109
110 -Відняти предмети закупівлі  
111 - [Arguments] ${username} ${tender_uaid} ${number} 110 +Додати предмет закупівлі
  111 + [Arguments] ${username} ${tender_uaid} ${item}
112 ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} 112 ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
113 - @{items}= Get From Object ${tender.data} items  
114 - Log Many @{items}  
115 - :FOR ${INDEX} IN RANGE ${number}  
116 - \ Remove From List ${items} 0  
117 - Log Many @{items}  
118 - Set_To_Object ${tender.data} items ${items} 113 + Append To List ${tender.data['items']} ${item}
119 Call Method ${USERS.users['${username}'].client} patch_tender ${tender} 114 Call Method ${USERS.users['${username}'].client} patch_tender ${tender}
120 115
121 116
122 -Додати предмети закупівлі  
123 - [Arguments] ${username} ${tender_uaid} ${number} 117 +Видалити предмет закупівлі
  118 + [Arguments] ${username} ${tender_uaid} ${item_id}
124 ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid} 119 ${tender}= openprocurement_client.Пошук тендера по ідентифікатору ${username} ${tender_uaid}
125 - @{items}= Get From Object ${tender.data} items  
126 - Log Many @{items}  
127 - :FOR ${INDEX} IN RANGE ${number}  
128 - \ ${item}= test_item_data  
129 - \ Append To List ${items} ${item}  
130 - Log Many @{items}  
131 - Set_To_Object ${tender.data} items ${items}  
132 - ${tender}= set_access_key ${tender} ${USERS.users['${username}'].access_token} 120 + ${item_index}= get_object_index_by_id ${tender.data['items']} ${item_id}
  121 + Remove From List ${tender.data['items']} ${item_index}
133 Call Method ${USERS.users['${username}'].client} patch_tender ${tender} 122 Call Method ${USERS.users['${username}'].client} patch_tender ${tender}
134 123
135 124
@@ -591,7 +591,7 @@ def test_award_data(): @@ -591,7 +591,7 @@ def test_award_data():
591 591
592 def test_item_data(): 592 def test_item_data():
593 now = get_now() 593 now = get_now()
594 - return { 594 + return munchify({
595 "description": description_with_id('i', fake.catch_phrase()), 595 "description": description_with_id('i', fake.catch_phrase()),
596 "deliveryDate": { 596 "deliveryDate": {
597 "endDate": (now + timedelta(days=5)).isoformat() 597 "endDate": (now + timedelta(days=5)).isoformat()
@@ -630,7 +630,7 @@ def test_item_data(): @@ -630,7 +630,7 @@ def test_item_data():
630 "code": u"KGM" 630 "code": u"KGM"
631 }, 631 },
632 "quantity": fake.pyint() 632 "quantity": fake.pyint()
633 - } 633 + })
634 634
635 635
636 def test_invalid_features_data(): 636 def test_invalid_features_data():
@@ -188,6 +188,11 @@ Get Broker Property By Username @@ -188,6 +188,11 @@ Get Broker Property By Username
188 [return] ${tender_data} 188 [return] ${tender_data}
189 189
190 190
  191 +Підготовка даних для створення предмету закупівлі
  192 + ${item}= test_item_data
  193 + [Return] ${item}
  194 +
  195 +
191 Підготовка даних для створення лоту 196 Підготовка даних для створення лоту
192 ${lot}= test_lot_data 197 ${lot}= test_lot_data
193 ${reply}= Create Dictionary data=${lot} 198 ${reply}= Create Dictionary data=${lot}
@@ -23,7 +23,7 @@ ${mode} multiItem @@ -23,7 +23,7 @@ ${mode} multiItem
23 [Teardown] Оновити LAST_MODIFICATION_DATE 23 [Teardown] Оновити LAST_MODIFICATION_DATE
24 ${tender_data}= Підготовка даних для створення тендера 24 ${tender_data}= Підготовка даних для створення тендера
25 ${adapted_data}= Адаптувати дані для оголошення тендера ${tender_owner} ${tender_data} 25 ${adapted_data}= Адаптувати дані для оголошення тендера ${tender_owner} ${tender_data}
26 - ${TENDER_UAID}= Викликати для учасника ${tender_owner} Створити тендер ${adapted_data} 26 + ${TENDER_UAID}= Run As ${tender_owner} Створити тендер ${adapted_data}
27 Set To Dictionary ${USERS.users['${tender_owner}']} initial_data=${adapted_data} 27 Set To Dictionary ${USERS.users['${tender_owner}']} initial_data=${adapted_data}
28 Set To Dictionary ${TENDER} TENDER_UAID ${TENDER_UAID} 28 Set To Dictionary ${TENDER} TENDER_UAID ${TENDER_UAID}
29 log ${TENDER} 29 log ${TENDER}
@@ -35,7 +35,7 @@ ${mode} multiItem @@ -35,7 +35,7 @@ ${mode} multiItem
35 ... minimal 35 ... minimal
36 :FOR ${username} IN ${viewer} ${tender_owner} 36 :FOR ${username} IN ${viewer} ${tender_owner}
37 \ Дочекатись синхронізації з майданчиком ${username} 37 \ Дочекатись синхронізації з майданчиком ${username}
38 - \ Викликати для учасника ${username} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']} 38 + \ Run As ${username} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']}
39 39
40 Відображення опису позицій закупівлі багатопредметного тендера 40 Відображення опису позицій закупівлі багатопредметного тендера
41 [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів багатопредметного тендера 41 [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів багатопредметного тендера
@@ -162,20 +162,53 @@ ${mode} multiItem @@ -162,20 +162,53 @@ ${mode} multiItem
162 ... level2 162 ... level2
163 [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} 163 [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
164 [Teardown] Оновити LAST_MODIFICATION_DATE 164 [Teardown] Оновити LAST_MODIFICATION_DATE
165 - Викликати для учасника ${tender_owner} Внести зміни в тендер ${TENDER['TENDER_UAID']} description description 165 + Run As ${tender_owner} Внести зміни в тендер ${TENDER['TENDER_UAID']} description description
166 166
167 -Можливість додати позицію закупівлі в тендер 167 +Можливість додати шосту позицію закупівлі в тендер
168 [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер 168 [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер
169 ... tender_owner 169 ... tender_owner
170 ... ${USERS.users['${tender_owner}'].broker} 170 ... ${USERS.users['${tender_owner}'].broker}
171 ... level2 171 ... level2
172 [Teardown] Оновити LAST_MODIFICATION_DATE 172 [Teardown] Оновити LAST_MODIFICATION_DATE
173 - Викликати для учасника ${tender_owner} Додати предмети закупівлі ${TENDER['TENDER_UAID']} 3 173 + ${item}= Підготовка даних для створення предмету закупівлі
  174 + Run As ${tender_owner} Додати предмет закупівлі ${TENDER['TENDER_UAID']} ${item}
  175 + ${item_id}= get_id_from_field ${item.description}
  176 + ${item_data}= Create Dictionary item=${item} item_id=${item_id}
  177 + ${item_data}= munch_dict arg=${item_data}
  178 + Set To Dictionary ${USERS.users['${tender_owner}']} item_data=${item_data}
174 179
175 -Можливість видалити позиції закупівлі тендера 180 +Відображення опису нової шостої позиції закупівлі багатопредметного тендера
  181 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів багатопредметного тендера
  182 + ... viewer
  183 + ... ${USERS.users['${viewer}'].broker}
  184 + ... level2
  185 + Звірити поле тендера із значенням ${viewer} ${USERS.users['${tender_owner}'].item_data.item.description} description ${USERS.users['${tender_owner}'].item_data.item_id}
  186 +
  187 +Можливість додати сьому позицію закупівлі в тендер
  188 + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер
  189 + ... tender_owner
  190 + ... ${USERS.users['${tender_owner}'].broker}
  191 + ... level2
  192 + [Teardown] Оновити LAST_MODIFICATION_DATE
  193 + ${item}= Підготовка даних для створення предмету закупівлі
  194 + Run As ${tender_owner} Додати предмет закупівлі ${TENDER['TENDER_UAID']} ${item}
  195 + ${item_id}= get_id_from_field ${item.description}
  196 + ${item_data}= Create Dictionary item=${item} item_id=${item_id}
  197 + ${item_data}= munch_dict arg=${item_data}
  198 + Set To Dictionary ${USERS.users['${tender_owner}']} item_data=${item_data}
  199 +
  200 +Відображення опису нової сьомої позиції закупівлі багатопредметного тендера
  201 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів багатопредметного тендера
  202 + ... viewer
  203 + ... ${USERS.users['${viewer}'].broker}
  204 + ... level2
  205 + Звірити поле тендера із значенням ${viewer} ${USERS.users['${tender_owner}'].item_data.item.description} description ${USERS.users['${tender_owner}'].item_data.item_id}
  206 +
  207 +Можливість видалити п’яту позицію закупівлі тендера
176 [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер 208 [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер
177 ... tender_owner 209 ... tender_owner
178 ... ${USERS.users['${tender_owner}'].broker} 210 ... ${USERS.users['${tender_owner}'].broker}
179 ... level2 211 ... level2
180 [Teardown] Оновити LAST_MODIFICATION_DATE 212 [Teardown] Оновити LAST_MODIFICATION_DATE
181 - Викликати для учасника ${tender_owner} Відняти предмети закупівлі ${TENDER['TENDER_UAID']} 2 213 + ${item_id}= get_id_from_field ${USERS.users['${tender_owner}'].tender_data.items[4].description}
  214 + Run As ${tender_owner} Видалити предмет закупівлі ${TENDER['TENDER_UAID']} ${item_id}
@@ -403,12 +403,14 @@ def get_object_type_by_id(object_id): @@ -403,12 +403,14 @@ def get_object_type_by_id(object_id):
403 403
404 404
405 def get_object_index_by_id(data, object_id): 405 def get_object_index_by_id(data, object_id):
  406 + if not data:
  407 + return 0
406 for index, element in enumerate(data): 408 for index, element in enumerate(data):
407 element_id = get_id_from_field(element['description']) 409 element_id = get_id_from_field(element['description'])
408 if element_id == object_id: 410 if element_id == object_id:
409 break 411 break
410 else: 412 else:
411 - index = 0 413 + index += 1
412 return index 414 return index
413 415
414 # GUI Frontends common 416 # GUI Frontends common
Please register or login to post a comment