Merge pull request #176 from eReuse/feature/new-metrix
Feature/new metrix
This commit is contained in:
commit
7d7b948f8b
|
@ -66,7 +66,7 @@ class TradeView():
|
||||||
|
|
||||||
# check than the user than want to do the action is one of the users
|
# check than the user than want to do the action is one of the users
|
||||||
# involved in the action
|
# involved in the action
|
||||||
if not g.user in [self.trade.user_from, self.trade.user_to]:
|
if g.user not in [self.trade.user_from, self.trade.user_to]:
|
||||||
txt = "You do not participate in this trading"
|
txt = "You do not participate in this trading"
|
||||||
raise ValidationError(txt)
|
raise ValidationError(txt)
|
||||||
|
|
||||||
|
|
|
@ -137,9 +137,7 @@ class Metrics(MetricsMix):
|
||||||
if the action is one trade action, is possible than have a list of confirmations.
|
if the action is one trade action, is possible than have a list of confirmations.
|
||||||
Get the doble confirm for to know if this trade is confirmed or not.
|
Get the doble confirm for to know if this trade is confirmed or not.
|
||||||
"""
|
"""
|
||||||
if hasattr(self.act, 'acceptances'):
|
if self.device.trading == 'TradeConfirmed':
|
||||||
accept = self.act.acceptances[-1]
|
|
||||||
if accept.t == 'Confirm' and accept.user == self.act.user_to:
|
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
|
|
@ -297,3 +297,50 @@ def test_visual_metrics_for_old_owners(user: UserClient, user2: UserClient):
|
||||||
|
|
||||||
assert body in csv_receiver
|
assert body in csv_receiver
|
||||||
assert body in csv_supplier
|
assert body in csv_supplier
|
||||||
|
assert csv_receiver == csv_supplier
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.mvp
|
||||||
|
@pytest.mark.usefixtures(conftest.app_context.__name__)
|
||||||
|
def test_bug_trade_confirmed(user: UserClient, user2: UserClient):
|
||||||
|
"""When the receiber do a Trade, then the confirmation is wrong."""
|
||||||
|
lenovo = yaml2json('desktop-9644w8n-lenovo-0169622.snapshot')
|
||||||
|
snap1, _ = user.post(json_encode(lenovo), res=ma.Snapshot)
|
||||||
|
lot, _ = user.post({'name': 'MyLot'}, res=Lot)
|
||||||
|
devices = [('id', snap1['device']['id'])]
|
||||||
|
lot, _ = user.post({},
|
||||||
|
res=Lot,
|
||||||
|
item='{}/devices'.format(lot['id']),
|
||||||
|
query=devices)
|
||||||
|
request_post = {
|
||||||
|
'type': 'Trade',
|
||||||
|
'devices': [snap1['device']['id']],
|
||||||
|
'userFromEmail': user2.email,
|
||||||
|
'userToEmail': user.email,
|
||||||
|
'price': 10,
|
||||||
|
'date': "2020-12-01T02:00:00+00:00",
|
||||||
|
'lot': lot['id'],
|
||||||
|
'confirms': True,
|
||||||
|
}
|
||||||
|
trade, _ = user.post(res=ma.Action, data=request_post)
|
||||||
|
|
||||||
|
csv_not_confirmed, _ = user.get(res=documents.DocumentDef.t,
|
||||||
|
item='actions/',
|
||||||
|
accept='text/csv',
|
||||||
|
query=[('filter', {'type': ['Computer']})])
|
||||||
|
request_confirm = {
|
||||||
|
'type': 'Confirm',
|
||||||
|
'action': trade['id'],
|
||||||
|
'devices': [snap1['device']['id']]
|
||||||
|
}
|
||||||
|
user2.post(res=ma.Action, data=request_confirm)
|
||||||
|
csv_confirmed, _ = user2.get(res=documents.DocumentDef.t,
|
||||||
|
item='actions/',
|
||||||
|
accept='text/csv',
|
||||||
|
query=[('filter', {'type': ['Computer']})])
|
||||||
|
|
||||||
|
body_not_confirmed = "Trade;foo2@foo.com;foo@foo.com;Receiver;False;"
|
||||||
|
body_confirmed = "Trade;foo2@foo.com;foo@foo.com;Receiver;True;"
|
||||||
|
|
||||||
|
assert body_not_confirmed in csv_not_confirmed
|
||||||
|
assert body_confirmed in csv_confirmed
|
||||||
|
|
Reference in New Issue