public void CreateVocabularyPresenter_Constructor_Calls_ScopeTypeController_GetScopeTypes()
        {
            // Arrange
            var mockView = new Mock <ICreateVocabularyView>();

            mockView.Setup(v => v.Model).Returns(new CreateVocabularyModel());

            // Act
            CreateVocabularyPresenter presenter = CreatePresenter(mockView);

            // Assert
            Mock.Get(presenter.ScopeTypeController).Verify(c => c.GetScopeTypes());
        }
        protected CreateVocabularyPresenter CreatePresenter(Mock <ICreateVocabularyView> mockView, Mock <HttpResponseBase> mockHttpResponse)
        {
            var mockHttpContext = new Mock <HttpContextBase>();

            mockHttpContext.Setup(h => h.Response).Returns(mockHttpResponse.Object);

            var presenter = new CreateVocabularyPresenter(mockView.Object, MockHelper.CreateMockVocabularyController().Object, MockHelper.CreateMockScopeTypeController().Object)
            {
                HttpContext = mockHttpContext.Object
            };

            return(presenter);
        }
        public void CreateVocabularyPresenter_OnLoad_Calls_View_BindVocabulary(bool isSuperUser)
        {
            // Arrange
            var mockView = new Mock <ICreateVocabularyView>();

            mockView.Setup(v => v.Model).Returns(new CreateVocabularyModel());

            CreateVocabularyPresenter presenter = CreatePresenter(mockView);

            presenter.IsSuperUser = isSuperUser;

            // Act (Raise the Load Event)
            mockView.Raise(v => v.Load += null, EventArgs.Empty);

            // Assert
            mockView.Verify(v => v.BindVocabulary(It.Is <Vocabulary>(vm => vm.VocabularyId == Null.NullInteger), isSuperUser));
        }
        public void CreateVocabularyPresenter_SaveVocabulary_Redirects_To_Vocabulary_List_View_With_No_Errors()
        {
            // Arrange
            var mockView = new Mock <ICreateVocabularyView>();

            mockView.Setup(v => v.Model).Returns(new CreateVocabularyModel());
            var destinationUrl = Globals.NavigateURL(Constants.TAB_ValidId);

            var mockHttpResponse = new Mock <HttpResponseBase>();

            CreateVocabularyPresenter presenter = CreatePresenter(mockView, mockHttpResponse);

            presenter.TabId = Constants.TAB_ValidId;

            // Act (Raise the Cancel Event)
            mockView.Raise(v => v.Save += null, EventArgs.Empty);

            // Assert
            mockHttpResponse.Verify(r => r.Redirect(destinationUrl));
        }
        protected CreateVocabularyPresenter CreatePresenter(Mock<ICreateVocabularyView> mockView,
            Mock<HttpResponseBase> mockHttpResponse)
        {
            Mock<HttpContextBase> mockHttpContext = new Mock<HttpContextBase>();
            mockHttpContext.Setup(h => h.Response).Returns(mockHttpResponse.Object);

            CreateVocabularyPresenter presenter = new CreateVocabularyPresenter(mockView.Object,
                                                                                MockHelper.
                                                                                    CreateMockVocabularyController().
                                                                                    Object,
                                                                                MockHelper.CreateMockScopeTypeController
                                                                                    ().Object)
                                                      {
                                                          HttpContext = mockHttpContext.Object
                                                      };

            return presenter;
        }