public void UpdateAdmin_Success(bool approval) { var contract = createNewConfigContract(); var newAdminAddress = AdminTwo; MockContractState.Setup(x => x.Message).Returns(new Message(ContractAddress, AdminOne, 0)); contract.UpdateAdmin(newAdminAddress, approval); MockPersistentState.Verify(x => x.SetBool($"Admin:{AdminTwo}", approval), Times.Once); var expectedRoleLog = new RoleLog { Blame = contract.Message.Sender, UpdatedAddress = newAdminAddress, UpdatedValue = approval, Action = nameof(JsonConfig.UpdateAdmin), Block = contract.Block.Number }; MockContractLogger.Verify(x => x.Log(It.IsAny <ISmartContractState>(), expectedRoleLog), Times.Once); }
public void UpdateAdmin_Failure_Sender_IsNot_Admin() { var newAdminAddress = AdminTwo; var approval = true; var contract = createNewConfigContract(); MockContractState.Setup(x => x.Message).Returns(new Message(ContractAddress, Unauthorized, 0)); Assert.ThrowsAny <SmartContractAssertException>(() => contract.UpdateAdmin(newAdminAddress, approval)); MockPersistentState.Verify(x => x.SetBool($"Admin:{newAdminAddress}", approval), Times.Never); var expectedRoleLog = new RoleLog { Blame = Unauthorized, UpdatedAddress = newAdminAddress, Action = nameof(contract.UpdateAdmin), UpdatedValue = approval, Block = contract.Block.Number }; MockContractLogger.Verify(x => x.Log(It.IsAny <ISmartContractState>(), expectedRoleLog), Times.Never); }