public void GetCommentsFromService_SetPrevPageToModel_IfHavePreviousComments_AndReturnPartilaView() { // Arrange var mockedCollection = this.GetCommentModelCollection(); var mockedLakeService = new Mock <ILakeService>(); var mockedCommentFactory = new Mock <ICommentFactory>(); var mockedDateProvider = new Mock <IDateProvider>(); var mockedCommentService = new Mock <ICommentService>(); mockedCommentService.Setup(s => s.GetCommentsByLakeName(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>())).Returns(mockedCollection.GetRange(1, Constants.ShowedComments)).Verifiable(); mockedCommentService.Setup(s => s.GetCommentsCount(It.IsAny <string>())).Returns(mockedCollection.Count).Verifiable(); var controller = new LakesController( mockedLakeService.Object, mockedCommentFactory.Object, mockedDateProvider.Object, mockedCommentService.Object); // Act var result = controller.GetComments(It.IsAny <string>(), 1) as PartialViewResult; var model = result.ViewData.Model as GetCommentsViewModel; // Assert Assert.AreEqual("_CommentsPartial", result.ViewName); Assert.IsTrue(model.HasPrev); Assert.IsTrue(model.PrevPage == 0); mockedCommentService.Verify(s => s.GetCommentsByLakeName(It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>()), Times.Once); mockedCommentService.Verify(s => s.GetCommentsCount(It.IsAny <string>()), Times.Once); }
public void GetAllLakesFromService_GroupThem_AndRenderDefaultView() { // Arrange var mockedCollection = this.GetLakeModelCollection(); var mockedLakeService = new Mock <ILakeService>(); mockedLakeService.Setup(s => s.GetAll()).Returns(mockedCollection).Verifiable(); var mockedCommentFactory = new Mock <ICommentFactory>(); var mockedDateProvider = new Mock <IDateProvider>(); var mockedCommentService = new Mock <ICommentService>(); var controller = new LakesController(mockedLakeService.Object, mockedCommentFactory.Object, mockedDateProvider.Object, mockedCommentService.Object); // Act var view = controller.Index() as ViewResult; var model = view.ViewData.Model as IEnumerable <IGrouping <char, LakeModel> >; // Assert var expectedResult = mockedCollection.GroupBy(l => l.Name.ToLower()[0]); Assert.IsTrue(view.ViewName == ""); CollectionAssert.AreEquivalent(expectedResult, model); mockedLakeService.Verify(s => s.GetAll(), Times.Once); }
public void AllShouldReturnNotFoundWithIdLessOrEqualToOne() { var lakesService = new Mock <ILakesService>(); var countriesService = new Mock <ICountriesService>(); var controller = new LakesController( countriesService.Object, lakesService.Object); var result = controller.All(null, -1); Assert.IsType <NotFoundResult>(result); }
public void ReturnJsonWithCorrectSuccessMessage_IfAddingCommentNotFailed() { // Arrange var mockedLake = new Lake(); var mockedLakeService = new Mock <ILakeService>(); mockedLakeService.Setup(s => s.FindByName(It.IsAny <string>())).Returns(mockedLake).Verifiable(); mockedLakeService.Setup(s => s.Save()).Verifiable(); var mockedCommentFactory = new Mock <ICommentFactory>(); mockedCommentFactory.Setup(f => f.CreateComment(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <DateTime>())).Verifiable(); var mockedDateProvider = new Mock <IDateProvider>(); mockedDateProvider.Setup(p => p.GetDate()).Verifiable(); var mockedCommentService = new Mock <ICommentService>(); var mockedContext = new Mock <ControllerContext>(); mockedContext.Setup(c => c.HttpContext.User.Identity.Name).Returns("test"); var controller = new LakesController(mockedLakeService.Object, mockedCommentFactory.Object, mockedDateProvider.Object, mockedCommentService.Object); controller.ControllerContext = mockedContext.Object; var model = new AddCommentViewModel() { Content = "test content", LakeName = "test lake" }; // Act var result = controller.AddComment(model) as JsonResult; dynamic dResult = result.Data; // Assert Assert.AreEqual("success", dResult.status); Assert.AreEqual(GlobalMessages.AddCommentSuccessMessage, dResult.message); mockedLakeService.Verify(s => s.FindByName(It.IsAny <string>()), Times.Once); mockedLakeService.Verify(s => s.Save(), Times.Once); mockedCommentFactory.Verify(f => f.CreateComment(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <DateTime>()), Times.Once); mockedDateProvider.Verify(p => p.GetDate(), Times.Once); }
public void AddShouldReturnCorrectViewModel() { var lakesService = new Mock <ILakesService>(); var countriesService = new Mock <ICountriesService>(); countriesService.Setup(c => c.GetAllAsKeyValuePairs()) .Returns(new List <KeyValuePair <string, string> >()); var controller = new LakesController( countriesService.Object, lakesService.Object); var result = controller.Add(); Assert.IsType <ViewResult>(result); var viewResult = result as ViewResult; Assert.IsType <AddLakeInputModel>(viewResult.Model); }
public void AllShouldReturnLakeInListViewModelWithPaidType() { var lakesService = new Mock <ILakesService>(); lakesService .Setup(l => l.GetAll <LakeInListViewModel>("Paid", 1, 6)) .Returns(new List <LakeInListViewModel>()); var countriesService = new Mock <ICountriesService>(); var controller = new LakesController( countriesService.Object, lakesService.Object); var result = controller.All("Paid", 1); Assert.IsType <ViewResult>(result); var viewResult = result as ViewResult; Assert.IsType <LakesListViewModel>(viewResult.Model); }
public void GetLakeFromService_AndRenderDefaultView_WithThisLake() { // Arrange var mockedLake = new Lake(); var mockedLakeService = new Mock <ILakeService>(); mockedLakeService.Setup(s => s.FindByName(It.IsAny <string>())).Returns(mockedLake).Verifiable(); var mockedCommentFactory = new Mock <ICommentFactory>(); var mockedDateProvider = new Mock <IDateProvider>(); var mockedCommentService = new Mock <ICommentService>(); var controller = new LakesController(mockedLakeService.Object, mockedCommentFactory.Object, mockedDateProvider.Object, mockedCommentService.Object); // Act var view = controller.Details(null) as ViewResult; var model = view.ViewData.Model as Lake; // Assert Assert.AreEqual("", view.ViewName); Assert.AreEqual(mockedLake, model); }
public void ReturnJsonWithCorrectErrorMessage_IfModelStateIsNotValid() { // Arrange var mockedLakeService = new Mock <ILakeService>(); mockedLakeService.Setup(s => s.FindByName(It.IsAny <string>())).Verifiable(); mockedLakeService.Setup(s => s.Save()).Verifiable(); var mockedCommentFactory = new Mock <ICommentFactory>(); mockedCommentFactory.Setup(f => f.CreateComment(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <DateTime>())).Verifiable(); var mockedDateProvider = new Mock <IDateProvider>(); mockedDateProvider.Setup(p => p.GetDate()).Verifiable(); var mockedCommentService = new Mock <ICommentService>(); var controller = new LakesController(mockedLakeService.Object, mockedCommentFactory.Object, mockedDateProvider.Object, mockedCommentService.Object); controller.ModelState.AddModelError("Content", "Error"); // Act var result = controller.AddComment(null) as JsonResult; dynamic dResult = result.Data; // Assert Assert.AreEqual("error", dResult.status); Assert.AreEqual(GlobalMessages.AddCOmentInvalidModelStateErrorMessage, dResult.message); mockedLakeService.Verify(s => s.FindByName(It.IsAny <string>()), Times.Never); mockedLakeService.Verify(s => s.Save(), Times.Never); mockedCommentFactory.Verify(f => f.CreateComment(It.IsAny <string>(), It.IsAny <string>(), It.IsAny <string>(), It.IsAny <DateTime>()), Times.Never); mockedDateProvider.Verify(p => p.GetDate(), Times.Never); }
public void LakeAreaCalculationTest(int p_x, int p_y, String[] p_map, int p_expected) { LakesController c = new LakesController(); Assert.Equal(p_expected, c.GetLakeArea(p_x, p_y, p_map)); }