public void IdentityProperties_AreCopied_WhenMovingForward_AndChoosingAnExistingAccount() { LegalIdentity legalIdentity = new LegalIdentity { State = IdentityState.Approved }; Property[] properties = { new Property(Constants.XmppProperties.FirstName, "John"), new Property(Constants.XmppProperties.LastName, "Doe"), new Property(Constants.XmppProperties.City, "Town") }; legalIdentity.Properties = properties; this.tagProfile.SetupGet(x => x.LegalIdentity).Returns(legalIdentity); Given(AViewModel) .And(async vm => await vm.Bind()) .ThenAssert(vm => { // Pre-condition RegisterIdentityViewModel rvm = (RegisterIdentityViewModel)vm.RegistrationSteps[(int)RegistrationStep.RegisterIdentity]; return(rvm.FirstName is null && rvm.LastNames is null && rvm.City is null); }) .When(vm => { // Move forward two steps object sender = vm.RegistrationSteps[(int)RegistrationStep.Operator]; // Operator->Account this.tagProfile.SetupGet(x => x.Step).Returns(RegistrationStep.Account); vm.RegistrationStep_Completed(sender, EventArgs.Empty); // Account->RegisterIdentity sender = vm.RegistrationSteps[(int)RegistrationStep.Account]; this.tagProfile.SetupGet(x => x.Step).Returns(RegistrationStep.RegisterIdentity); vm.RegistrationStep_Completed(sender, EventArgs.Empty); }) .ThenAssert(vm => { // Post-condition, verify properties have been copied from LegalIdentity to VM. RegisterIdentityViewModel rvm = (RegisterIdentityViewModel)vm.RegistrationSteps[(int)RegistrationStep.RegisterIdentity]; return(rvm.FirstName == "John" && rvm.LastNames == "Doe" && rvm.City == "Town"); }) .Finally(async vm => await vm.Unbind()); }
public void IdentityProperties_AreCopied_WhenMovingBackward_WithAnExistingAccount() { LegalIdentity legalIdentity = new LegalIdentity { State = IdentityState.Approved }; Property[] properties = { new Property(Constants.XmppProperties.FirstName, "John"), new Property(Constants.XmppProperties.LastName, "Doe"), new Property(Constants.XmppProperties.City, "Town") }; legalIdentity.Properties = properties; this.tagProfile.SetupGet(x => x.LegalIdentity).Returns(legalIdentity); this.tagProfile.SetupGet(x => x.Step).Returns(RegistrationStep.ValidateIdentity); Given(AViewModel) .And(async vm => await vm.Bind()) .ThenAssert(vm => { // Pre-condition RegisterIdentityViewModel rvm = (RegisterIdentityViewModel)vm.RegistrationSteps[(int)RegistrationStep.RegisterIdentity]; return(rvm.FirstName is null && rvm.LastNames is null && rvm.City is null); }) .When(vm => { vm.GoToPrevCommand.Execute(); }) .ThenAssert(vm => { // Post-condition, verify properties have been copied from LegalIdentity to VM. RegisterIdentityViewModel rvm = (RegisterIdentityViewModel)vm.RegistrationSteps[(int)RegistrationStep.RegisterIdentity]; return(rvm.FirstName == "John" && rvm.LastNames == "Doe" && rvm.City == "Town"); }) .Finally(async vm => await vm.Unbind()); }