public async Task Update_Coefficient_For_Sender_Should_Success() { await CreateAndIssueVoteToken(); const int pieceKey = 1000000; var updateInput = new CoefficientFromSender { LinerCoefficient = new LinerCoefficient { ConstantValue = 1, Denominator = 2, Numerator = 3 }, PieceKey = pieceKey, IsLiner = true }; var proposalId = await CreateToRootForUserFeeByTwoLayer(updateInput); await ApproveToRootForUserFeeByTwoLayer(proposalId); await VoteToReferendum(proposalId); await ReleaseToRootForUserFeeByTwoLayer(proposalId); var userCoefficientRet = await MainChainTester.ExecuteContractWithMiningAsync(TokenContractAddress, nameof(TokenContractContainer.TokenContractStub.GetCalculateFeeCoefficientOfSender), new Empty()); userCoefficientRet.Status.ShouldBe(TransactionResultStatus.Mined); var userCoefficient = new CalculateFeeCoefficientsOfType(); userCoefficient.MergeFrom(userCoefficientRet.ReturnValue); var hasModified = userCoefficient.Coefficients.Single(x => x.PieceKey == pieceKey); hasModified.CoefficientDic["ConstantValue".ToLower()].ShouldBe(1); hasModified.CoefficientDic["Denominator".ToLower()].ShouldBe(2); hasModified.CoefficientDic["Numerator".ToLower()].ShouldBe(3); }
public async Task Update_Coefficient_For_Contract_Should_Success() { const int pieceKey = 1000000; const FeeTypeEnum feeType = FeeTypeEnum.Traffic; var updateInput = new CoefficientFromContract { FeeType = feeType, Coefficient = new CoefficientFromSender { LinerCoefficient = new LinerCoefficient { ConstantValue = 1, Denominator = 2, Numerator = 3 }, PieceKey = pieceKey, IsLiner = true } }; var proposalId = await CreateToRootForDeveloperFeeByTwoLayer(updateInput); await ApproveToRootForDeveloperFeeByTwoLayer(proposalId); var middleApproveProposalId = await ApproveToRootForDeveloperFeeByMiddleLayer(proposalId); await ApproveThenReleaseMiddleProposalForDeveloper(middleApproveProposalId); await ReleaseToRootForDeveloperFeeByTwoLayer(proposalId); var developerCoefficientRet = await MainChainTester.ExecuteContractWithMiningAsync(TokenContractAddress, nameof(TokenContractContainer.TokenContractStub.GetCalculateFeeCoefficientOfContract), new SInt32Value { Value = (int)feeType }); developerCoefficientRet.Status.ShouldBe(TransactionResultStatus.Mined); var userCoefficient = new CalculateFeeCoefficientsOfType(); userCoefficient.MergeFrom(developerCoefficientRet.ReturnValue); var hasModified = userCoefficient.Coefficients.Single(x => x.PieceKey == pieceKey); hasModified.CoefficientDic["ConstantValue".ToLower()].ShouldBe(1); hasModified.CoefficientDic["Denominator".ToLower()].ShouldBe(2); hasModified.CoefficientDic["Numerator".ToLower()].ShouldBe(3); }