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
|
||||
# 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"
|
||||
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.
|
||||
Get the doble confirm for to know if this trade is confirmed or not.
|
||||
"""
|
||||
if hasattr(self.act, 'acceptances'):
|
||||
accept = self.act.acceptances[-1]
|
||||
if accept.t == 'Confirm' and accept.user == self.act.user_to:
|
||||
if self.device.trading == 'TradeConfirmed':
|
||||
return True
|
||||
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_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