public void Can_Filter_Tours() { // Организация (arrange) Mock <ITourRepository> mock = new Mock <ITourRepository>(); mock.Setup(m => m.GetAllTours()).Returns(new List <Tour> { new Tour { TourId = 1, Name = "Tour1", Type = "Type1" }, new Tour { TourId = 2, Name = "Tour2", Type = "Type2" }, new Tour { TourId = 3, Name = "Tour3", Type = "Type1" }, new Tour { TourId = 4, Name = "Tour4", Type = "Type3" }, new Tour { TourId = 5, Name = "Tour5", Type = "Type2" } }); ToursController controller = new ToursController(mock.Object); controller.pageSize = 3; // Действие (act) List <Tour> result = ((ToursListViewModel)controller.List("Type2", 1).Model).Tours.ToList(); Assert.AreEqual(result.Count(), 2); Assert.IsTrue(result[0].Name == "Tour2" && result[0].Type == "Type2"); Assert.IsTrue(result[1].Name == "Tour5" && result[1].Type == "Type2"); }
public void PostTour_validTour_Succeed() { ToursController controller = new ToursController(mockTourService.Object); this.SetupControllerTests(controller, "http://localhost/STCRMService/api/tour", HttpMethod.Get); var mockResponse = mockRepository.Create <InsertTourResponse>(); TourViewModel newContactTour = new TourViewModel() { TourID = SAMPLE_TOUR_ID }; mockResponse.Setup(c => c.TourViewModel).Returns(newContactTour); mockTourService.Setup(c => c.InsertTour(It.IsAny <InsertTourRequest>())).Returns(mockResponse.Object); var httpResponseMessage = controller.PostTour(It.IsAny <TourViewModel>()); var postResponse = httpResponseMessage.Content.ReadAsAsync <InsertTourResponse>().ContinueWith( t => { return(t.Result); }).Result; var contactResponse = postResponse.TourViewModel; mockRepository.VerifyAll(); Assert.IsTrue(postResponse.TourViewModel.TourID > 0, "Id is not greater than zero after insert."); Assert.AreEqual(httpResponseMessage.StatusCode, HttpStatusCode.OK); Assert.AreEqual(postResponse.Exception, null); }
public void StartUp() { fakeToursStorage = new Mock <IToursService>(); fakeToursStorage.Setup(r => r.GetTourById(It.IsAny <int>())).Returns((int x) => GetFakeTours().FirstOrDefault(t => t.Id == x)); fakeToursStorage.Setup(r => r.GetToursWithinKmRange(It.IsAny <double>(), It.IsAny <double>(), It.IsAny <double>())).Returns(GetFakeTours()); controller = new ToursController(fakeToursStorage.Object); }
public void PostTour_RuntimeError_500InternalServerError() { ToursController controller = new ToursController(mockTourService.Object); this.SetupControllerTests(controller, "http://localhost/STCRMService/api/tour", HttpMethod.Get); var mockResponse = mockRepository.Create <InsertTourResponse>(); mockTourService.Setup(c => c.InsertTour(It.IsAny <InsertTourRequest>())).Returns(mockResponse.Object); mockResponse.Setup(r => r.Exception).Returns(new InvalidOperationException()); var httpResponseMessage = controller.PostTour(It.IsAny <TourViewModel>()); var postResponse = httpResponseMessage.Content.ReadAsAsync <InsertTourResponse>().ContinueWith( t => { return(t.Result); }).Result; mockRepository.VerifyAll(); Assert.AreEqual(httpResponseMessage.StatusCode, HttpStatusCode.InternalServerError); Assert.AreNotEqual(postResponse.Exception, null); }
public void DeleteTour_DeactivateTourforContacts_Succeed() { ToursController controller = new ToursController(mockTourService.Object); this.SetupControllerTests(controller, "http://localhost/STCRMService/api/note/1", HttpMethod.Get); var mockResponse = mockRepository.Create <DeleteTourResponse>(); mockTourService.Setup(c => c.DeleteTour(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>())). Returns(mockResponse.Object); var httpResponseMessage = controller.DeleteTour(SAMPLE_TOUR_ID); var noteResponse = httpResponseMessage.Content.ReadAsAsync <DeleteTourResponse>().ContinueWith( t => { return(t.Result); }).Result; mockRepository.VerifyAll(); //Assert.AreEqual(noteResponse., null); Assert.AreEqual(httpResponseMessage.StatusCode, HttpStatusCode.OK); }
public void GetTour_GetTourforContact_ReturnSuccess() { ToursController controller = new ToursController(mockTourService.Object); this.SetupControllerTests(controller, "http://localhost/STCRMService/api/tour/1", HttpMethod.Get); var mockResponse = mockRepository.Create <GetTourResponse>(); GetTourResponse response = mockRepository.Create <GetTourResponse>().Object; response.TourViewModel = MockData.CreateMockList <TourViewModel>(mockRepository).Select(c => c.Object).FirstOrDefault(); mockTourService.Setup(c => c.GetTour(It.IsAny <int>())).Returns(response); var httpResponseMessage = controller.GetTour(SAMPLE_TOUR_ID); var contactResponse = httpResponseMessage.Content.ReadAsAsync <GetTourResponse>().ContinueWith( t => { return(t.Result); }).Result; mockRepository.VerifyAll(); Assert.AreEqual(httpResponseMessage.StatusCode, HttpStatusCode.OK); Assert.AreEqual(contactResponse.Exception, null); }
public void DeleteTour_DeactivateTourforContacts_RuntimeError_500InternalServerError() { ToursController controller = new ToursController(mockTourService.Object); this.SetupControllerTests(controller, "http://localhost/STCRMService/api/note", HttpMethod.Get); var mockResponse = mockRepository.Create <DeleteTourResponse>(); mockTourService.Setup(c => c.DeleteTour(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>())). Returns(mockResponse.Object); mockResponse.Setup(r => r.Exception).Returns(new InvalidOperationException()); var httpResponseMessage = controller.DeleteTour(SAMPLE_TOUR_ID); var postResponse = httpResponseMessage.Content.ReadAsAsync <DeleteTourResponse>().ContinueWith( t => { return(t.Result); }).Result; mockRepository.VerifyAll(); Assert.AreEqual(httpResponseMessage.StatusCode, HttpStatusCode.InternalServerError); Assert.AreNotEqual(postResponse.Exception, null); }
public void Initialize() { _tourRepoMock = new Mock <ITourRepo>(MockBehavior.Strict); _target = new ToursController(_tourRepoMock.Object); // Create mock data var country1 = new Country() { Id = 1, Name = "Switzerland" }; var country2 = new Country() { Id = 2, Name = "Germany" }; var city1 = new City() { Id = 3, Name = "Zuerich", Country = country1 }; var city2 = new City() { Id = 4, Name = "Berlin", Country = country2 }; _tour1 = new Tour() { Id = 5, Name = "Tour 1", Description = "Desc Tour 1", DetailDescription = "Detail Desc Tour 1", City = city1, Image = "Image Tour 1" }; var tour2 = new Tour() { Id = 6, Name = "Tour 2", Description = "Desc Tour 2", DetailDescription = "Detail Desc Tour 2", City = city2, Image = "Image Tour 2" }; _tours = new List <Tour>() { _tour1, tour2 }; }
public void Can_Send_Pagination_View_Model() { // Организация (arrange) Mock <ITourRepository> mock = new Mock <ITourRepository>(); mock.Setup(m => m.GetAllTours()).Returns(new List <Tour> { new Tour { TourId = 1, Name = "Tour1" }, new Tour { TourId = 2, Name = "Tour2" }, new Tour { TourId = 3, Name = "Tour3" }, new Tour { TourId = 4, Name = "Tour4" }, new Tour { TourId = 5, Name = "Tour5" } }); ToursController controller = new ToursController(mock.Object); controller.pageSize = 3; // Действие (act) ToursListViewModel result = (ToursListViewModel)controller.List(null, 2).Model; PagingInfo pagingInfo = result.PagingInfo; Assert.AreEqual(pagingInfo.CurrentPage, 2); Assert.AreEqual(pagingInfo.ItemsPerPage, 3); Assert.AreEqual(pagingInfo.TotalItems, 5); Assert.AreEqual(pagingInfo.TotalPages, 2); }
public void Can_Paginate() { // Организация (arrange) Mock <ITourRepository> mock = new Mock <ITourRepository>(); mock.Setup(m => m.GetAllTours()).Returns(new List <Tour> { new Tour { TourId = 1, Name = "Tour1" }, new Tour { TourId = 2, Name = "Tour2" }, new Tour { TourId = 3, Name = "Tour3" }, new Tour { TourId = 4, Name = "Tour4" }, new Tour { TourId = 5, Name = "Tour5" } }); ToursController controller = new ToursController(mock.Object); controller.pageSize = 3; // Действие (act) ToursListViewModel result = (ToursListViewModel)controller.List(null, 2).Model; // Утверждение (assert) List <Tour> tours = result.Tours.ToList(); Assert.IsTrue(tours.Count == 2); Assert.AreEqual(tours[0].Name, "Tour4"); Assert.AreEqual(tours[1].Name, "Tour5"); }