示例#1
0
        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());
        }
示例#2
0
        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());
        }