def test_wallet_mtime(self): ''' В отзыве сервера присутствует время последней модификации кошелька ''' root_wallet = RootWallet() wallet = FakeWallet() transaction = FakeTransaction(root_wallet, wallet, -555) APP.test_client().put( '/wallet/%s' % root_wallet.id(), data=str(WalletString(TransactionWallet(root_wallet, transaction)))) response = APP.test_client().get('/wallet/%s' % root_wallet.id()) assert response.json['mtime'] == str(transaction.time())
def test_incoming_transaction_approved(self): ''' Входящая транзакций должна сразу появиться в кошельке получателе ''' root_wallet = RootWallet() wallet = FakeWallet() transaction = FakeTransaction(root_wallet, wallet, -777) APP.test_client().put('/wallet/%s' % wallet.id(), data=str(WalletString(wallet))) APP.test_client().put( '/wallet/%s' % root_wallet.id(), data=str(WalletString(TransactionWallet(root_wallet, transaction)))) response = APP.test_client().get('/wallet/%s' % wallet.id()) assert root_wallet.id() in response.json['body']
def test_incoming_transaction_bnf_is_sender(self): ''' Идентификатор корневого должен фигурировать в транзакции получателя ''' root_wallet = RootWallet() wallet = FullWallet(root_wallet, 1000, APP.test_client()) APP.test_client().put('/wallet/%s' % wallet.id(), data=str(WalletString(wallet))) response = APP.test_client().get('/wallet/%s' % wallet.id()) assert root_wallet.id() in response.json['body']
def test_dst_wallet_to_wanted(self): ''' Кошельки получатели помещаются в список tasks ''' root = RootWallet() wallet = FullWallet(root, 1000, APP.test_client()) response = APP.test_client().get('/tasks') assert any( all((t['id'] == wallet.id(), t['prefix'] in wallet.public(), t.get('who', None) == root.id())) for t in response.json['tasks'] if t['type'] == 'wanted')