def test_free_money_success( dapp_registry: Registry, key_manager: KeyManager, ): """ ARRANGE """ receiver_address = key_manager.generate() receiver_initial_balance = 100 free_money_amount = 100 what_is_this_id = str(uuid4()) transform = FreeMoney( receiver=receiver_address, amount=free_money_amount, ) # Initialize the environment. state = create_state(dapp_registry) balance_state = state[BalanceModel.fqdn] balance_state[receiver_address] = BalanceModel( balance=receiver_initial_balance) """ ACT """ execute_transform(transform, state) the_receiver: BalanceModel = balance_state[receiver_address] """ ASSERT """ assert the_receiver.balance == receiver_initial_balance + free_money_amount
def test_kiwi_claim_id_not_found_error( dapp_registry: Registry, key_manager: KeyManager, ): #arrange claimer_address = key_manager.generate() transform = ClaimKiwi( claimer=claimer_address, kiwi_id="thisIDdoesnotexist" ) config_file = (Path(crypto_kiwis.__path__[0]) / ".." / "config.yaml").resolve() config = Config(DEVELOP_NETWORK).load(config_file) state = create_state(dapp_registry, config['plug']['initial_state']) before_length_unclaimed = len(state[KiwiCollectionModel.fqdn]["_unclaimed"].kiwis) #act with pytest.raises(KiwiNotFoundError): execute_transform(transform, state) remaining_unclaimed = state[KiwiCollectionModel.fqdn]["_unclaimed"].kiwis #assert assert len(remaining_unclaimed) == before_length_unclaimed
def test_claim_initial_kiwi_success( dapp_registry: Registry, key_manager: KeyManager, ): #arrange claimer_address = key_manager.generate() transform = ClaimKiwi( claimer=claimer_address, kiwi_id="A123" ) config_file = (Path(crypto_kiwis.__path__[0]) / ".." / "config.yaml").resolve() config = Config(DEVELOP_NETWORK).load(config_file) state = create_state(dapp_registry, config['plug']['initial_state']) before_length_unclaimed = len(state[KiwiCollectionModel.fqdn]["_unclaimed"].kiwis) #act execute_transform(transform, state) kiwi: KiwiModel = state[KiwiModel.fqdn]["A123"] remaining_unclaimed = state[KiwiCollectionModel.fqdn]["_unclaimed"].kiwis remaining_unclaimed_ids = [x['id'] for x in state[KiwiCollectionModel.fqdn]["_unclaimed"].kiwis if x['id'] != "A123"] #assert assert "A123" not in remaining_unclaimed_ids assert kiwi['owner_address'] == claimer_address assert len(remaining_unclaimed) == before_length_unclaimed - 1
def test_balance_transfer_zero_money_error( dapp_registry: Registry, key_manager: KeyManager, ): """ ARRANGE """ #Define fake values for the transform sender_address = key_manager.generate() sender_initial_balance = 100 receiver_initial_balance = 100 receiver_address = key_manager.generate() send_amount = 0 what_is_this_id = str(uuid4()) ##Build the Transform transform = BalanceTransfer( sender=sender_address, receiver=receiver_address, amount=send_amount, ) #Create a fake state state = create_state(dapp_registry) balance_state = state[BalanceModel.fqdn] #Set Initial Balance for Sender balance_state[sender_address] = BalanceModel( balance=sender_initial_balance) #Set Inital Balance for receiver balance_state[receiver_address] = BalanceModel( balance=receiver_initial_balance) """ ACT """ #Run the Transform with pytest.raises(InvalidAmountError): execute_transform(transform, state) #Define the balance models of the sender and receiver the_receiver: BalanceModel = balance_state[receiver_address] the_sender: BalanceModel = balance_state[sender_address] """ ASSERT """ assert the_receiver.balance == receiver_initial_balance assert the_sender.balance == sender_initial_balance
def test_kiwi_indexer_removes_items(dapp_registry: Registry, mocker): #arrange state = create_state(dapp_registry) serializer = Importer.import_class("plug.serializer.CBOR") indexer = KiwiIndexer(path='.', serializer=serializer) state[KiwiModel.fqdn].add_indexer(indexer) #act state[KiwiModel.fqdn]['ABC'] = KiwiModel('ABC', '1', 'OwnerA', 'black', 1) state[KiwiModel.fqdn]['DEF'] = KiwiModel('DEF', 'name', 'OwnerB', 'white', 2) state[KiwiModel.fqdn]['GHI'] = KiwiModel('GHI', '2', 'OwnerA', 'red', 3) #assert assert len(indexer["_all"]) == 3 assert len(indexer["OwnerA"]) == 2 assert len(indexer["OwnerB"]) == 1
def test_kiwi_claim_id_not_found_error( dapp_registry: Registry, key_manager: KeyManager, ): #arrange claimer_address = key_manager.generate() transform = ClaimKiwi( claimer=claimer_address, kiwi_id="B234" ) config_file = (Path(crypto_kiwis.__path__[0]) / ".." / "config.yaml").resolve() config = Config(DEVELOP_NETWORK).load(config_file) state = create_state(dapp_registry, config['plug']['initial_state']) unclaimed_kiwis = state[KiwiCollectionModel.fqdn]["_unclaimed"].kiwis claim_kiwi = unclaimed_kiwis[0] unclaimed_kiwis.remove(claim_kiwi) claimed_kiwis = state[KiwiModel.fqdn] state[KiwiModel.fqdn][claimer_address] = KiwiModel( id="A123", name=claim_kiwi['name'], owner_address=claimer_address, colour="blue", size=1 ) before_length_unclaimed = len(state[KiwiCollectionModel.fqdn]["_unclaimed"].kiwis) #act with pytest.raises(KiwiAlreadyClaimedError): execute_transform(transform, state) remaining_unclaimed = state[KiwiCollectionModel.fqdn]["_unclaimed"].kiwis #assert assert len(remaining_unclaimed) == before_length_unclaimed