private void Submit_Click(object sender, RoutedEventArgs e) { //registering if (register.IsChecked.Value) { var PRC = new CreatePortfolioRequestConversation(Config.GetClientProcessNumber()); PRC.SetInitialState(new CreatePortfolioRequestState(user.Text, pass.Password, confirm.Password, this, PRC, null)); ConversationManager.AddConversation(PRC); } //logging in else { var loginConv = new GetPortfolioRequestConversation(Config.GetClientProcessNumber()); loginConv.SetInitialState(new GetPortfolioRequestState(user.Text, pass.Password, this, loginConv)); ConversationManager.AddConversation(loginConv); } }
public void RequestSucceed() { int processIdId = 42; var username = "******"; var password = "******"; var conv = new CreatePortfolioRequestConversation(processIdId); //setup response message and mock var mock = new Mock <CreatePortfolioRequestState>(username, password, password, null, conv, null) { CallBase = true }; mock.Setup(st => st.Send())//Pretend message is sent and response comes back... .Callback(() => { var responseMessage = new PortfolioUpdateMessage() { ConversationID = conv.Id, MessageID = "responseMessageID1234" }; var responseEnv = new Envelope(responseMessage); ConversationManager.ProcessIncomingMessage(responseEnv); }).CallBase().Verifiable(); //execute test conv.SetInitialState(mock.Object as CreatePortfolioRequestState); Assert.IsTrue(conv.CurrentState is CreatePortfolioRequestState); mock.Verify(state => state.Prepare(), Times.Never); mock.Verify(state => state.Send(), Times.Never); ConversationManager.AddConversation(conv); Assert.IsFalse(conv.CurrentState is CreatePortfolioRequestState); Assert.IsTrue(conv.CurrentState is ConversationDoneState); mock.Verify(state => state.Prepare(), Times.Once); mock.Verify(state => state.Send(), Times.Once); }