private void constructMe(I_UI_DialogWithUser view, I_HelloWorldRepository repo)
        {
            _UserView   = view;
            _repository = repo;


            initUserView();
        }
        public void AnswerChatAgainQuestion_NO()
        {
            //Arrange
            MultipleDialogs_Processor processor = Get_MultiDialog_Processor(0);

            processor.AddUserAction(processor.UserView.viewID, new BasementHelloWorldCommonParts.UA_Processors.MultipleDialogs_Processor.Action_AddNewDialog());
            processor.AddUserAction(processor.UserView.viewID, new BasementHelloWorldCommonParts.UA_Processors.MultipleDialogs_Processor.Action_AddNewDialog());
            processor.AddUserAction(processor.UserView.viewID, new BasementHelloWorldCommonParts.UA_Processors.MultipleDialogs_Processor.Action_AddNewDialog());
            processor.InvokeUserActions();
            Assert.Equal(3, processor.UserView.subViews_DialogWithUser.Count);
            int viewID = processor.UserView.viewID;
            int d2ID   = processor.UserView.subViews_DialogWithUser[1];

            processor.AddUserAction(processor.UserView.viewID, new BasementHelloWorldCommonParts.UA_Processors.MultipleDialogs_Processor.SubDialogAction_SetSelectedLanguage {
                newLang = "de", subDialogID = d2ID
            });
            processor.InvokeUserActions();
            ViewStateManager.saveViewToViewState(processor.UserView);

            processor = Get_MultiDialog_Processor(viewID);

            processor.AddUserAction(processor.UserView.viewID, new BasementHelloWorldCommonParts.UA_Processors.MultipleDialogs_Processor.SubDialogAction_ReportUserName {
                userName = "******", subDialogID = d2ID
            });
            processor.InvokeUserActions();

            ViewStateManager.saveViewToViewState(processor.UserView);

            processor = Get_MultiDialog_Processor(viewID);

            //Act
            processor.AddUserAction(processor.UserView.viewID, new BasementHelloWorldCommonParts.UA_Processors.MultipleDialogs_Processor.SubDialogAction_AcceptChatAgain {
                needChatAgain = false, subDialogID = d2ID
            });
            processor.InvokeUserActions();

            I_UI_DialogWithUser editedSubDlg = TestSettings.Get_UI_DialogWithUser(d2ID);

            //Assert
            Assert.Equal("", editedSubDlg.strProp_selectedLanguage);
            Assert.Equal("", editedSubDlg.strProp_userName);
            //Resetting all dialogue fields
            Assert.False(editedSubDlg.boolProp_isActionPossible_TellUserName);
            Assert.False(editedSubDlg.boolProp_greetingVisible);
            Assert.False(editedSubDlg.boolProp_isActionPossible_AnswerChatAgainQuestion);
        }
        public void SubDialog_SubmitUserName_languageAlreadySelected()
        {
            //Arrange
            string newUserName = "******";
            MultipleDialogs_Processor processor = Get_MultiDialog_Processor(0);

            processor.AddUserAction(processor.UserView.viewID, new BasementHelloWorldCommonParts.UA_Processors.MultipleDialogs_Processor.Action_AddNewDialog());
            processor.AddUserAction(processor.UserView.viewID, new BasementHelloWorldCommonParts.UA_Processors.MultipleDialogs_Processor.Action_AddNewDialog());
            processor.AddUserAction(processor.UserView.viewID, new BasementHelloWorldCommonParts.UA_Processors.MultipleDialogs_Processor.Action_AddNewDialog());
            processor.InvokeUserActions();
            Assert.Equal(3, processor.UserView.subViews_DialogWithUser.Count);
            int viewID = processor.UserView.viewID;
            int d2ID   = processor.UserView.subViews_DialogWithUser[1];

            processor.AddUserAction(processor.UserView.viewID, new BasementHelloWorldCommonParts.UA_Processors.MultipleDialogs_Processor.SubDialogAction_SetSelectedLanguage {
                newLang = "fr", subDialogID = d2ID
            });
            processor.InvokeUserActions();

            ViewStateManager.saveViewToViewState(processor.UserView);

            //Act
            processor = Get_MultiDialog_Processor(viewID);
            processor.AddUserAction(viewID, new BasementHelloWorldCommonParts.UA_Processors.MultipleDialogs_Processor.SubDialogAction_ReportUserName {
                userName = newUserName, subDialogID = d2ID
            });
            processor.InvokeUserActions();


            I_UI_DialogWithUser editedSubDlg = TestSettings.Get_UI_DialogWithUser(d2ID);

            //Assert
            Assert.Equal(newUserName, editedSubDlg.strProp_userName);
            Assert.False(editedSubDlg.boolProp_greetingVisible);
            Assert.False(editedSubDlg.boolProp_isActionPossible_TellUserName);
            Assert.True(editedSubDlg.boolProp_helloUserMessageVisible);
            Assert.Equal("helloUserMessage_fr_" + newUserName, editedSubDlg.strProp_helloUserMessageText);
            Assert.True(editedSubDlg.boolProp_isActionPossible_AnswerChatAgainQuestion);
            Assert.Equal("questionForChatingAgain_fr", editedSubDlg.strProp_questionForChatingAgain);
            Assert.Equal("yes_fr", editedSubDlg.strProp_actionExplanation_DoChatAgain);
            Assert.Equal("no_fr", editedSubDlg.strProp_actionExplanation_DontChatAgain);
        }
 public Dialog_Processor(I_UI_DialogWithUser view)
 {
     constructMe(view, new RAM_HelloWorldRepository());
 }
 public Dialog_Processor(I_UI_DialogWithUser view, I_HelloWorldRepository repo)
 {
     constructMe(view, repo);
 }
        private void constructMe(I_UI_DialogWithUser view, I_HelloWorldRepository repo)
        {
            _UserView = view;
            _repository = repo;

            initUserView();
        }
 public Dialog_Processor(I_UI_DialogWithUser view)
 {
     constructMe(view, new RAM_HelloWorldRepository());
 }
 public Dialog_Processor(I_UI_DialogWithUser view, I_HelloWorldRepository repo)
 {
     constructMe(view, repo);
 }