new trade tests
This commit is contained in:
parent
054f59453d
commit
ac5b55d04a
|
@ -800,7 +800,7 @@ def test_trade_endpoint(user: UserClient, user2: UserClient):
|
||||||
@pytest.mark.mvp
|
@pytest.mark.mvp
|
||||||
@pytest.mark.usefixtures(conftest.app_context.__name__)
|
@pytest.mark.usefixtures(conftest.app_context.__name__)
|
||||||
def test_offer_without_to(user: UserClient):
|
def test_offer_without_to(user: UserClient):
|
||||||
"""Test one offer with doble confirmation"""
|
"""Test one offer without confirmation and without user to"""
|
||||||
user2 = User(email='baz@baz.cxm', password='baz')
|
user2 = User(email='baz@baz.cxm', password='baz')
|
||||||
user2.individuals.add(Person(name='Tommy'))
|
user2.individuals.add(Person(name='Tommy'))
|
||||||
db.session.add(user2)
|
db.session.add(user2)
|
||||||
|
@ -809,6 +809,10 @@ def test_offer_without_to(user: UserClient):
|
||||||
lot = Lot('MyLot')
|
lot = Lot('MyLot')
|
||||||
lot.owner_id = user.user['id']
|
lot.owner_id = user.user['id']
|
||||||
device = Device.query.filter_by(id=snapshot['device']['id']).one()
|
device = Device.query.filter_by(id=snapshot['device']['id']).one()
|
||||||
|
|
||||||
|
# check the owner of the device
|
||||||
|
assert device.owner.email == user.email
|
||||||
|
|
||||||
lot.devices.add(device)
|
lot.devices.add(device)
|
||||||
db.session.add(lot)
|
db.session.add(lot)
|
||||||
db.session.flush()
|
db.session.flush()
|
||||||
|
@ -823,13 +827,64 @@ def test_offer_without_to(user: UserClient):
|
||||||
'confirm': False,
|
'confirm': False,
|
||||||
'code': 'MAX'
|
'code': 'MAX'
|
||||||
}
|
}
|
||||||
# import pdb; pdb.set_trace()
|
|
||||||
action, _ = user.post(res=models.Action, data=request_post)
|
action, _ = user.post(res=models.Action, data=request_post)
|
||||||
|
trade= models.Trade.query.one()
|
||||||
|
assert device in trade.devices
|
||||||
|
assert request_post['code'].lower() in device.owner.email
|
||||||
|
assert device.owner.active == False
|
||||||
|
assert device.owner.phantom == True
|
||||||
|
assert trade.accepted_by_from and trade.accepted_by_to
|
||||||
|
assert device.owner.email != user.email
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.mvp
|
@pytest.mark.mvp
|
||||||
@pytest.mark.usefixtures(conftest.app_context.__name__)
|
@pytest.mark.usefixtures(conftest.app_context.__name__)
|
||||||
def test_offer(user: UserClient):
|
def test_offer_without_from(user: UserClient):
|
||||||
|
"""Test one offer without confirmation and without user from"""
|
||||||
|
user2 = User(email='baz@baz.cxm', password='baz')
|
||||||
|
user2.individuals.add(Person(name='Tommy'))
|
||||||
|
db.session.add(user2)
|
||||||
|
db.session.commit()
|
||||||
|
snapshot, _ = user.post(file('basic.snapshot'), res=models.Snapshot)
|
||||||
|
lot = Lot('MyLot')
|
||||||
|
lot.owner_id = user.user['id']
|
||||||
|
device = Device.query.filter_by(id=snapshot['device']['id']).one()
|
||||||
|
|
||||||
|
# check the owner of the device
|
||||||
|
assert device.owner.email == user.email
|
||||||
|
assert device.owner.email != user2.email
|
||||||
|
|
||||||
|
lot.devices.add(device)
|
||||||
|
db.session.add(lot)
|
||||||
|
db.session.flush()
|
||||||
|
request_post = {
|
||||||
|
'type': 'Offer',
|
||||||
|
'devices': [device.id],
|
||||||
|
'userTo': user2.email,
|
||||||
|
'price': 10,
|
||||||
|
'date': "2020-12-01T02:00:00+00:00",
|
||||||
|
'documentID': '1',
|
||||||
|
'lot': lot.id,
|
||||||
|
'confirm': False,
|
||||||
|
'code': 'MAX'
|
||||||
|
}
|
||||||
|
action, _ = user.post(res=models.Action, data=request_post)
|
||||||
|
trade= models.Trade.query.one()
|
||||||
|
|
||||||
|
phantom_user = trade.offer.user_from
|
||||||
|
assert request_post['code'].lower() in phantom_user.email
|
||||||
|
assert phantom_user.active == False
|
||||||
|
assert phantom_user.phantom == True
|
||||||
|
|
||||||
|
assert user2.email in trade.devices[0].owner.email
|
||||||
|
assert trade.accepted_by_from and trade.accepted_by_to
|
||||||
|
assert device.owner.email != user.email
|
||||||
|
assert device.owner.email == user2.email
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.mvp
|
||||||
|
@pytest.mark.usefixtures(conftest.app_context.__name__)
|
||||||
|
def test_offer_without_users(user: UserClient):
|
||||||
"""Test one offer with doble confirmation"""
|
"""Test one offer with doble confirmation"""
|
||||||
user2 = User(email='baz@baz.cxm', password='baz')
|
user2 = User(email='baz@baz.cxm', password='baz')
|
||||||
user2.individuals.add(Person(name='Tommy'))
|
user2.individuals.add(Person(name='Tommy'))
|
||||||
|
@ -842,6 +897,38 @@ def test_offer(user: UserClient):
|
||||||
lot.devices.add(device)
|
lot.devices.add(device)
|
||||||
db.session.add(lot)
|
db.session.add(lot)
|
||||||
db.session.flush()
|
db.session.flush()
|
||||||
|
request_post = {
|
||||||
|
'type': 'Offer',
|
||||||
|
'devices': [device.id],
|
||||||
|
'price': 10,
|
||||||
|
'date': "2020-12-01T02:00:00+00:00",
|
||||||
|
'documentID': '1',
|
||||||
|
'lot': lot.id,
|
||||||
|
'confirm': False,
|
||||||
|
'code': 'MAX'
|
||||||
|
}
|
||||||
|
action, response = user.post(res=models.Action, data=request_post, status=422)
|
||||||
|
txt = 'you need one user from or user to for to do a offer'
|
||||||
|
assert txt in action['message']['_schema']
|
||||||
|
|
||||||
|
|
||||||
|
@pytest.mark.mvp
|
||||||
|
@pytest.mark.usefixtures(conftest.app_context.__name__)
|
||||||
|
def test_offer(user: UserClient):
|
||||||
|
"""Test one offer with doble confirmation"""
|
||||||
|
user2 = User(email='baz@baz.cxm', password='baz')
|
||||||
|
user2.individuals.add(Person(name='Tommy'))
|
||||||
|
db.session.add(user2)
|
||||||
|
db.session.commit()
|
||||||
|
snapshot, _ = user.post(file('basic.snapshot'), res=models.Snapshot)
|
||||||
|
lot = Lot('MyLot')
|
||||||
|
lot.owner_id = user.user['id']
|
||||||
|
device = Device.query.filter_by(id=snapshot['device']['id']).one()
|
||||||
|
assert device.owner.email == user.email
|
||||||
|
assert device.owner.email != user2.email
|
||||||
|
lot.devices.add(device)
|
||||||
|
db.session.add(lot)
|
||||||
|
db.session.flush()
|
||||||
request_post = {
|
request_post = {
|
||||||
'type': 'Offer',
|
'type': 'Offer',
|
||||||
'devices': [device.id],
|
'devices': [device.id],
|
||||||
|
@ -852,10 +939,11 @@ def test_offer(user: UserClient):
|
||||||
'documentID': '1',
|
'documentID': '1',
|
||||||
'lot': lot.id,
|
'lot': lot.id,
|
||||||
'confirm': True,
|
'confirm': True,
|
||||||
'userExist': True,
|
|
||||||
}
|
}
|
||||||
# import pdb; pdb.set_trace()
|
|
||||||
action, _ = user.post(res=models.Action, data=request_post)
|
action, _ = user.post(res=models.Action, data=request_post)
|
||||||
|
assert device.owner.email == user.email
|
||||||
|
assert device.owner.email != user2.email
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.mvp
|
@pytest.mark.mvp
|
||||||
|
|
Reference in New Issue