Commit b4fed1641d9c3d97d11b9669d90fcafb1e61b945

Authored by Leits
1 parent 4227952e

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
@@ -589,7 +589,7 @@ def test_award_data(): @@ -589,7 +589,7 @@ def test_award_data():
589 589
590 def test_item_data(): 590 def test_item_data():
591 now = get_now() 591 now = get_now()
592 - return { 592 + return munchify({
593 "description": description_with_id('i', fake.catch_phrase()), 593 "description": description_with_id('i', fake.catch_phrase()),
594 "deliveryDate": { 594 "deliveryDate": {
595 "endDate": (now + timedelta(days=5)).isoformat() 595 "endDate": (now + timedelta(days=5)).isoformat()
@@ -628,7 +628,7 @@ def test_item_data(): @@ -628,7 +628,7 @@ def test_item_data():
628 "code": u"KGM" 628 "code": u"KGM"
629 }, 629 },
630 "quantity": fake.pyint() 630 "quantity": fake.pyint()
631 - } 631 + })
632 632
633 633
634 def test_invalid_features_data(): 634 def test_invalid_features_data():
@@ -148,6 +148,11 @@ Get Broker Property By Username @@ -148,6 +148,11 @@ Get Broker Property By Username
148 [return] ${tender_data} 148 [return] ${tender_data}
149 149
150 150
  151 +Підготовка даних для створення предмету закупівлі
  152 + ${item}= test_item_data
  153 + [Return] ${item}
  154 +
  155 +
151 Підготовка даних для створення лоту 156 Підготовка даних для створення лоту
152 ${lot}= test_lot_data 157 ${lot}= test_lot_data
153 ${reply}= Create Dictionary data=${lot} 158 ${reply}= Create Dictionary data=${lot}
@@ -24,7 +24,7 @@ ${broker} Quinta @@ -24,7 +24,7 @@ ${broker} Quinta
24 [Teardown] Оновити LAST_MODIFICATION_DATE 24 [Teardown] Оновити LAST_MODIFICATION_DATE
25 ${tender_data}= Підготовка даних для створення тендера 25 ${tender_data}= Підготовка даних для створення тендера
26 ${adapted_data}= Адаптувати дані для оголошення тендера ${tender_owner} ${tender_data} 26 ${adapted_data}= Адаптувати дані для оголошення тендера ${tender_owner} ${tender_data}
27 - ${TENDER_UAID}= Викликати для учасника ${tender_owner} Створити тендер ${adapted_data} 27 + ${TENDER_UAID}= Run As ${tender_owner} Створити тендер ${adapted_data}
28 Set To Dictionary ${USERS.users['${tender_owner}']} initial_data=${adapted_data} 28 Set To Dictionary ${USERS.users['${tender_owner}']} initial_data=${adapted_data}
29 Set To Dictionary ${TENDER} TENDER_UAID ${TENDER_UAID} 29 Set To Dictionary ${TENDER} TENDER_UAID ${TENDER_UAID}
30 log ${TENDER} 30 log ${TENDER}
@@ -36,7 +36,7 @@ ${broker} Quinta @@ -36,7 +36,7 @@ ${broker} Quinta
36 ... minimal 36 ... minimal
37 :FOR ${username} IN ${viewer} ${tender_owner} 37 :FOR ${username} IN ${viewer} ${tender_owner}
38 \ Дочекатись синхронізації з майданчиком ${username} 38 \ Дочекатись синхронізації з майданчиком ${username}
39 - \ Викликати для учасника ${username} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']} 39 + \ Run As ${username} Пошук тендера по ідентифікатору ${TENDER['TENDER_UAID']}
40 40
41 Відображення опису позицій закупівлі багатопредметного тендера 41 Відображення опису позицій закупівлі багатопредметного тендера
42 [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів багатопредметного тендера 42 [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів багатопредметного тендера
@@ -163,20 +163,53 @@ ${broker} Quinta @@ -163,20 +163,53 @@ ${broker} Quinta
163 ... level2 163 ... level2
164 [Setup] Дочекатись синхронізації з майданчиком ${tender_owner} 164 [Setup] Дочекатись синхронізації з майданчиком ${tender_owner}
165 [Teardown] Оновити LAST_MODIFICATION_DATE 165 [Teardown] Оновити LAST_MODIFICATION_DATE
166 - Викликати для учасника ${tender_owner} Внести зміни в тендер ${TENDER['TENDER_UAID']} description description 166 + Run As ${tender_owner} Внести зміни в тендер ${TENDER['TENDER_UAID']} description description
167 167
168 -Можливість додати позицію закупівлі в тендер 168 +Можливість додати шосту позицію закупівлі в тендер
169 [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер 169 [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер
170 ... tender_owner 170 ... tender_owner
171 ... ${USERS.users['${tender_owner}'].broker} 171 ... ${USERS.users['${tender_owner}'].broker}
172 ... level2 172 ... level2
173 [Teardown] Оновити LAST_MODIFICATION_DATE 173 [Teardown] Оновити LAST_MODIFICATION_DATE
174 - Викликати для учасника ${tender_owner} Додати предмети закупівлі ${TENDER['TENDER_UAID']} 3 174 + ${item}= Підготовка даних для створення предмету закупівлі
  175 + Run As ${tender_owner} Додати предмет закупівлі ${TENDER['TENDER_UAID']} ${item}
  176 + ${item_id}= get_id_from_field ${item.description}
  177 + ${item_data}= Create Dictionary item=${item} item_id=${item_id}
  178 + ${item_data}= munch_dict arg=${item_data}
  179 + Set To Dictionary ${USERS.users['${tender_owner}']} item_data=${item_data}
175 180
176 -Можливість видалити позиції закупівлі тендера 181 +Відображення опису нової шостої позиції закупівлі багатопредметного тендера
  182 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів багатопредметного тендера
  183 + ... viewer
  184 + ... ${USERS.users['${viewer}'].broker}
  185 + ... level2
  186 + Звірити поле тендера із значенням ${viewer} ${USERS.users['${tender_owner}'].item_data.item.description} description ${USERS.users['${tender_owner}'].item_data.item_id}
  187 +
  188 +Можливість додати сьому позицію закупівлі в тендер
  189 + [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер
  190 + ... tender_owner
  191 + ... ${USERS.users['${tender_owner}'].broker}
  192 + ... level2
  193 + [Teardown] Оновити LAST_MODIFICATION_DATE
  194 + ${item}= Підготовка даних для створення предмету закупівлі
  195 + Run As ${tender_owner} Додати предмет закупівлі ${TENDER['TENDER_UAID']} ${item}
  196 + ${item_id}= get_id_from_field ${item.description}
  197 + ${item_data}= Create Dictionary item=${item} item_id=${item_id}
  198 + ${item_data}= munch_dict arg=${item_data}
  199 + Set To Dictionary ${USERS.users['${tender_owner}']} item_data=${item_data}
  200 +
  201 +Відображення опису нової сьомої позиції закупівлі багатопредметного тендера
  202 + [Tags] ${USERS.users['${viewer}'].broker}: Відображення полів предметів багатопредметного тендера
  203 + ... viewer
  204 + ... ${USERS.users['${viewer}'].broker}
  205 + ... level2
  206 + Звірити поле тендера із значенням ${viewer} ${USERS.users['${tender_owner}'].item_data.item.description} description ${USERS.users['${tender_owner}'].item_data.item_id}
  207 +
  208 +Можливість видалити п’яту позицію закупівлі тендера
177 [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер 209 [Tags] ${USERS.users['${tender_owner}'].broker}: Можливість оголосити тендер
178 ... tender_owner 210 ... tender_owner
179 ... ${USERS.users['${tender_owner}'].broker} 211 ... ${USERS.users['${tender_owner}'].broker}
180 ... level2 212 ... level2
181 [Teardown] Оновити LAST_MODIFICATION_DATE 213 [Teardown] Оновити LAST_MODIFICATION_DATE
182 - Викликати для учасника ${tender_owner} Відняти предмети закупівлі ${TENDER['TENDER_UAID']} 2 214 + ${item_id}= get_id_from_field ${USERS.users['${tender_owner}'].tender_data.items[4].description}
  215 + Run As ${tender_owner} Видалити предмет закупівлі ${TENDER['TENDER_UAID']} ${item_id}
@@ -348,12 +348,14 @@ def get_object_type_by_id(object_id): @@ -348,12 +348,14 @@ def get_object_type_by_id(object_id):
348 348
349 349
350 def get_object_index_by_id(data, object_id): 350 def get_object_index_by_id(data, object_id):
  351 + if not data:
  352 + return 0
351 for index, element in enumerate(data): 353 for index, element in enumerate(data):
352 element_id = get_id_from_field(element['description']) 354 element_id = get_id_from_field(element['description'])
353 if element_id == object_id: 355 if element_id == object_id:
354 break 356 break
355 else: 357 else:
356 - index = 0 358 + index += 1
357 return index 359 return index
358 360
359 # GUI Frontends common 361 # GUI Frontends common
Please register or login to post a comment