예제 #1
0
        public void PostSubscribeShouldReturnRedirectViewIfSubscriptionIsNotSuccessfull()
        {
            // Arrange
            var warningMessage = string.Empty;

            var newsletterService = new Mock <IShoppingNewsLetterService>();

            newsletterService
            .Setup(n => n.Create(It.IsAny <string>()))
            .Returns(false);

            var tempData = new Mock <ITempDataDictionary>();

            tempData
            .SetupSet(t => t[TempDataWarningMessageKey] = It.IsAny <string>())
            .Callback((string key, object message) => warningMessage = message as string);

            var controller = new NewsLetterController(newsletterService.Object)
            {
                TempData = tempData.Object
            };

            // Act
            var result = controller.Subscribe(Email);

            // Assert
            warningMessage.Should().Be(string.Format(InvalidEmailAddress, Email));

            result.Should().BeOfType <RedirectToActionResult>();

            result.As <RedirectToActionResult>().ActionName.Should().Be("Index");
            result.As <RedirectToActionResult>().ControllerName.Should().Be("Home");
        }
 public static void ClassInit(TestContext textContext)
 {
     controller               = new NewsLetterController(NewsLetterServiceGenerator.GetMockService().Object);
     controller.Request       = new HttpRequestMessage();
     controller.Configuration = new HttpConfiguration();
     AutoMapperInit.BuildMap();
 }
        public void Get_Index_View_Test()
        {
            //Arrange
            NewsLetterController controller = new NewsLetterController();
            //Act
            var result = controller.Index();

            //Assert
            Assert.IsType <ViewResult>(result);
        }
예제 #4
0
        public void Setup()
        {
            SubscriberRepository = new Mock <ISubscriberRepository>();

            ControllerToTest = new NewsLetterController(SubscriberRepository.Object);
        }