public void ApproveApplication_Fails_WhenStateIsNotPersonalAppearance(uint state) { // Setup incorrect sender. this.mockPersistentState.Setup(s => s.GetAddress(nameof(PassportApplication.Applicant))).Returns(ApplicantAddress); this.mockContractState.Setup(s => s.Message.Sender).Returns(ApplicantAddress); var contract = new PassportApplication(this.mockContractState.Object, AppId, ProviderAddress, RefNumber); // Setup set state. this.mockPersistentState.Setup(s => s.GetUInt32(nameof(PassportApplication.State))).Returns(state); // Attempt ApproveApplication when state is not PersonalAppearance should fail. Assert.Throws <SmartContractAssertException>(() => contract.ApproveApplication()); }
public void ApproveApplication_Succeeds_WhenSenderIsProviderAndStateIsPersonalAppearance() { // Setup incorrect sender. this.mockPersistentState.Setup(s => s.GetAddress(nameof(PassportApplication.Provider))).Returns(ProviderAddress); this.mockContractState.Setup(s => s.Message.Sender).Returns(ProviderAddress); var contract = new PassportApplication(this.mockContractState.Object, AppId, ProviderAddress, RefNumber); // Setup set state. this.mockPersistentState.Setup(s => s.GetUInt32(nameof(PassportApplication.State))).Returns((uint)PassportApplication.StateType.PersonalAppearance); // Attempt ApproveApplication when sender is the provider and the state is PersonalAppearance should succeed. contract.ApproveApplication(); this.mockPersistentState.Verify(s => s.SetUInt32(nameof(PassportApplication.State), (uint)PassportApplication.StateType.ApprovedApplication)); }