Example #1
0
        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
            };
        }
Example #9
0
        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);
        }
Example #10
0
        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");
        }