Пример #1
0
        public async Task TransactionLogTestAsync()
        {
            /*
             * Explicit blockchain name test
             */

            // Act - Ask network for blockchain params
            var exp = await _wallet.IssueAsync(_chainName, UUID.NoHyphens, _address, new AssetEntity(), 100, 1, 0, new Dictionary <string, string>() { { "text", "Test data text".ToHex() } });

            var transaction_0 = NewTransaction(_chainName, nameof(_wallet.IssueAsync), txid: exp.Result);

            // Assert
            Assert.DoesNotThrowAsync(async() => await _contract.CreateAsync(transaction_0));
            Assert.IsTrue(exp.IsSuccess());
            Assert.IsInstanceOf <RpcResponse <string> >(exp);
            Assert.IsTrue(transaction_0.Id.HasValue);

            /*
             * Inferred blockchain name test
             */

            // Act - Ask network for blockchain params
            var inf = await _wallet.IssueAsync(_address, new AssetEntity(), 100, 1, 0, new Dictionary <string, string>() { { "text", "Test data text".ToHex() } });

            var transaction_1 = NewTransaction(_chainName, nameof(_wallet.IssueAsync), txid: inf.Result);

            // Assert
            Assert.DoesNotThrowAsync(async() => await _contract.CreateAsync(transaction_1));
            Assert.IsTrue(inf.IsSuccess());
            Assert.IsInstanceOf <RpcResponse <string> >(inf);
            Assert.IsTrue(transaction_1.Id.HasValue);
        }
Пример #2
0
        public Task CreateAsyncTest()
        {
            // create one record
            var single = new TransactionModel(MY_BLOCKCHAIN, ISSUE_MORE, $"{Guid.NewGuid()}")
            {
                CreatedBy      = nameof(CreateAsyncTest),
                LastModifiedBy = nameof(CreateAsyncTest)
            };

            /* .SaveChangesAsync() is called automatically within the contract */
            /* We don't need to call .SaveChangesAsync() again here for any reason */

            // Act & Assert commit to local storage
            Assert.DoesNotThrowAsync(async() => await _contract.CreateAsync(single));

            return(Task.CompletedTask);
        }