public void Post_BookTicket_ShouldRedirectToHomeWithPastData() { //Arrange var departureTime = new TimeSpan(10, 11, 12); var date = new DateTime(2017, 11, 11); var departureDateTime = new DateTime(date.Year, date.Month, date.Day, departureTime.Hours, departureTime.Minutes, departureTime.Seconds); routeService.Setup(r => r.RouteExists(It.IsAny <int>(), It.IsAny <TimeSpan>())) .Returns(true); var controller = new RoutesController(null, routeService.Object, null, null, null); this.PrepareTempData(); this.SetControllerTempData(controller); //Act var result = controller.BookTicket(new BookTicketFormModel() { DepartureDateTime = departureDateTime }); //Assert result.Should().BeOfType <RedirectToActionResult>(); result.As <RedirectToActionResult>().ActionName.Should().Be(nameof(HomeController.Index), WebConstants.Controller.Home); this.customMessage.Should().Be(WebConstants.Message.InvalidRoute); }
public void Post_BookTicket_ShouldRedirectToSearchWhenBusIsAlreadyReserved() { //Arrange this.routeService.Setup(r => r.RouteExists(It.IsAny <int>(), It.IsAny <TimeSpan>())) .Returns(true); this.ticketService.Setup(t => t.GetAlreadyReservedTickets(It.IsAny <int>(), It.IsAny <DateTime>())) .Returns(new List <int>() { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 }); this.companyService.Setup(c => c.Exists(It.IsAny <string>())) .Returns(true); var controller = new RoutesController(null, routeService.Object, ticketService.Object, companyService.Object, null); this.PrepareTempData(); this.SetControllerTempData(controller); //Act var form = this.GenerateBookTicketForm(); var result = controller.BookTicket(form); //Assert result.Should().BeOfType <RedirectToActionResult>(); result.As <RedirectToActionResult>().ActionName.Should().Be(nameof(RoutesController.Search), WebConstants.Controller.Routes); result.As <RedirectToActionResult>().RouteValues[RouteValueStartTownKey].Should().Be(form.StartTownId); result.As <RedirectToActionResult>().RouteValues[RouteValueEndTownKey].Should().Be(form.EndTownId); result.As <RedirectToActionResult>().RouteValues[RouteValueDateKey].Should().Be(form.DepartureDateTime.Date); result.As <RedirectToActionResult>().RouteValues[RouteValueCompanyIdKey].Should().Be(form.CompanyId); this.customMessage.Should().Be(string.Format(WebConstants.Message.RouteSoldOut, form.StartStation, form.EndStation, form.DepartureDateTime.Date.ToYearMonthDayFormat(), form.DepartureDateTime.TimeOfDay)); }
public async Task EditPost_ReturnsAViewResult_WithRoute_WhenModelStateIsInvalid() { // Arrange var mockRoutesRepo = new Mock <IRoutesRepository>(); var mockPointsRepo = new Mock <IPointsRepository>(); mockPointsRepo.Setup(repo => repo.GetPoints()).Returns(Task.FromResult(GetTestPoints())); var controller = new RoutesController(mockRoutesRepo.Object, mockPointsRepo.Object); controller.ModelState.AddModelError("Name", "Required"); var newRoute = new Route() { Id = 1 }; // Act var result = await controller.Edit(newRoute.Id, newRoute); // Assert var viewResult = Assert.IsType <ViewResult>(result); Assert.NotNull(viewResult.ViewData); Assert.Equal(2, viewResult.ViewData.Count); var model = Assert.IsAssignableFrom <Route>(viewResult.ViewData.Model); Assert.Equal(newRoute, model); }
public void Post_Add_WithNonExistingEndStationShouldRedirectToAllRoutes() { //Arrange var controller = new RoutesController(null, null, this.fixture.UserManagerMockInstance.Object, this.companyService.Object, this.stationService.Object); this.companyService.Setup(c => c.IsApproved(It.IsAny <string>())) .Returns(true); this.companyService.Setup(c => c.IsBlocked(It.IsAny <string>())) .Returns(false); this.stationService.Setup(s => s.StationExist(It.IsAny <int>())) .Returns(false); this.PrepareTempData(); controller.TempData = this.tempData.Object; //Act var result = controller.Add(this.GetRouteFormModel()); //Assert this.AssertRedirectToCompanyRoutes(result); this.customMessage.Should().Be(WebConstants.Message.InvalidStation); }
public async Task Should_return_NotFound_when_there_is_no_routes_from_start_point_to_end_pointAsync() { // Arrange var pointsMock = new Mock <IPointRepository>(); pointsMock.Setup(p => p.GetWithRoutesAsync(It.IsAny <long>())).ReturnsAsync(new Point()); var deliveryMock = new Mock <IDeliveryService>(); deliveryMock.Setup(d => d.FindMinTimeRoutesAsync(It.IsAny <Point>(), It.IsAny <Point>())) .ReturnsAsync((Delivery)null); var controller = new RoutesController(null, pointsMock.Object, deliveryMock.Object); // Act var actionResult = await controller.SearchAsync(1, 2); // Assert actionResult.Value.Should().BeNull(); actionResult.Result.Should().BeOfType <NotFoundObjectResult>(); var notFoundResult = actionResult.Result as NotFoundObjectResult; notFoundResult.Value.Should().Be("No routes found from 1 to 2."); }
public void Get_Edit_WithValidDataShouldReturnEditRouteFormView() { //Arrange var controller = new RoutesController(this.routeService.Object, this.townService.Object, this.fixture.UserManagerMockInstance.Object, this.companyService.Object, null); this.routeService.Setup(r => r.IsRouteOwner(It.IsAny <int>(), It.IsAny <string>())) .Returns(true); this.companyService.Setup(c => c.IsApproved(It.IsAny <string>())) .Returns(true); this.companyService.Setup(c => c.IsBlocked(It.IsAny <string>())) .Returns(false); this.routeService.Setup(r => r.GetRouteToEdit(It.IsAny <string>(), It.IsAny <int>())) .Returns(this.GetRouteToEdit()); this.townService.SetupSequence(t => t.GetTownNameByStationId(It.IsAny <int>())) .Returns(StartTownName) .Returns(EndTownName); this.routeService.Setup(r => r.HasReservedTickets(It.IsAny <int>(), It.IsAny <string>())) .Returns(false); //Act var result = controller.Edit(RouteId); //Assert result.Should().BeOfType <ViewResult>(); var viewResult = result.As <ViewResult>().Model; var form = viewResult.As <RouteFormModel>(); this.AssertRouteFormModelProperties(StartStation, EndStation, form, viewResult); form.IsEdit.Should().BeTrue(); }
public void Post_Edit_WithInvalidModelStateShouldReturnEditRouteFormView() { //Arrange var controller = new RoutesController(this.routeService.Object, this.townService.Object, this.fixture.UserManagerMockInstance.Object, this.companyService.Object, null); this.routeService.Setup(r => r.IsRouteOwner(It.IsAny <int>(), It.IsAny <string>())) .Returns(true); this.companyService.Setup(c => c.IsApproved(It.IsAny <string>())) .Returns(true); this.companyService.Setup(c => c.IsBlocked(It.IsAny <string>())) .Returns(false); this.townService.Setup(t => t.GetTownsWithStations()) .Returns(this.GetTownsStations()); controller.ModelState.AddModelError(string.Empty, "Error"); //Act var result = controller.Edit(this.GetRouteFormModel(), RouteId); //Assert result.Should().BeOfType <ViewResult>(); var viewResult = result.As <ViewResult>().Model; var form = result.As <ViewResult>().Model.As <RouteFormModel>(); this.AssertRouteFormModelProperties(StartStation, EndStation, form, viewResult); }
public void Get_Edit_WhenRouteDoesNotExistShouldRedirectToAllRoutes() { //Arrange CompanyRouteEditServiceModel route = null; var controller = new RoutesController(this.routeService.Object, null, this.fixture.UserManagerMockInstance.Object, this.companyService.Object, null); this.routeService.Setup(r => r.IsRouteOwner(It.IsAny <int>(), It.IsAny <string>())) .Returns(true); this.companyService.Setup(c => c.IsApproved(It.IsAny <string>())) .Returns(true); this.companyService.Setup(c => c.IsBlocked(It.IsAny <string>())) .Returns(false); this.routeService.Setup(r => r.GetRouteToEdit(It.IsAny <string>(), It.IsAny <int>())) .Returns(route); this.PrepareTempData(); controller.TempData = this.tempData.Object; //Act var result = controller.Edit(RouteId); //Assert this.AssertRedirectToCompanyRoutes(result); this.customMessage.Should().Be(WebConstants.Message.InvalidRoute); }
public void CreateTest() { var controller = new RoutesController(); var result = controller.Create() as ViewResult; Assert.IsNotNull(result.Model); }
public void Get_Add_WithValidDataShouldReturnAddRoutesFormView() { //Arrange var controller = new RoutesController(null, this.townService.Object, this.fixture.UserManagerMockInstance.Object, this.companyService.Object, null); this.companyService.Setup(c => c.IsApproved(It.IsAny <string>())) .Returns(true); this.companyService.Setup(c => c.IsBlocked(It.IsAny <string>())) .Returns(false); this.townService.Setup(t => t.GetTownsWithStations()) .Returns(this.GetTownsStations()); //Act var result = controller.Add(); //Assert result.Should().BeOfType <ViewResult>(); var model = result.As <ViewResult>().Model; model.Should().BeOfType <RouteFormModel>(); var form = model.As <RouteFormModel>(); form.TownsStations.Should().HaveCount(TownsCount); }
public void Post_Edit_WhenThereIsAlreadySameRouteShouldReturnEditRouteFormView() { //Arrange var controller = new RoutesController(this.routeService.Object, this.townService.Object, this.fixture.UserManagerMockInstance.Object, this.companyService.Object, null); this.routeService.Setup(r => r.IsRouteOwner(It.IsAny <int>(), It.IsAny <string>())) .Returns(true); this.companyService.Setup(c => c.IsApproved(It.IsAny <string>())) .Returns(true); this.companyService.Setup(c => c.IsBlocked(It.IsAny <string>())) .Returns(false); this.townService.Setup(t => t.GetTownsWithStations()) .Returns(this.GetTownsStations()); this.routeService.Setup(r => r.RouteAlreadyExist(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <int>(), It.IsAny <TimeSpan>(), It.IsAny <string>())) .Returns(true); //Act var result = controller.Edit(this.GetRouteFormModel(), RouteId); //Assert result.Should().BeOfType <ViewResult>(); result.As <ViewResult>().ViewData.ModelState.Root.Errors.Should().HaveCount(1); result.As <ViewResult>().ViewData.ModelState.Root.Errors.Any(e => e.ErrorMessage == WebConstants.Message.CompanyRouteDuplication); var viewResult = result.As <ViewResult>().Model; var form = viewResult.As <RouteFormModel>(); this.AssertRouteFormModelProperties(StartStation, EndStation, form, viewResult); form.IsEdit.Should().BeTrue(); }
public void Post_ChangeStatus_WithValidDataShouldRedirectToAllRoutes() { //Arrange var controller = new RoutesController(this.routeService.Object, null, this.fixture.UserManagerMockInstance.Object, this.companyService.Object, null); this.routeService.Setup(r => r.IsRouteOwner(It.IsAny <int>(), It.IsAny <string>())) .Returns(true); this.companyService.Setup(c => c.IsApproved(It.IsAny <string>())) .Returns(true); this.companyService.Setup(c => c.IsBlocked(It.IsAny <string>())) .Returns(false); this.routeService.Setup(r => r.GetRouteBaseInfo(It.IsAny <int>(), It.IsAny <string>())) .Returns(this.GetRouteInfo()); this.routeService.Setup(r => r.HasReservedTickets(It.IsAny <int>(), It.IsAny <string>())) .Returns(false); this.routeService.Setup(r => r.ChangeStatus(It.IsAny <int>(), It.IsAny <string>())) .Returns(true); this.PrepareTempData(); controller.TempData = this.tempData.Object; //Act var result = controller.ChangeStatus(RouteId); //Assert this.AssertRedirectToCompanyRoutes(result); this.customMessage.Should().Be(string.Format(WebConstants.Message.RouteStatusChanged, StartStationName, EndStationName, DepartureTime, RouteStatus)); }
public void All_ShouldReturnCorrectDataWithValidInput() { //Arrange var controller = new RoutesController(this.routeService.Object, this.townService.Object, this.fixture.UserManagerMockInstance.Object, null, null); this.routeService.Setup(t => t.All(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <DateTime>(), It.IsAny <string>(), It.IsAny <int>(), It.IsAny <int>())) .Returns(this.GetRoutes()); this.routeService.Setup(t => t.TotalRoutes(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <DateTime>(), It.IsAny <string>())) .Returns(TotalRoutes); this.townService.Setup(t => t.GetTownsListItems()) .Returns(this.GetTowns()); this.townService.Setup(t => t.GetTownsWithStations()) .Returns(this.GetTownsStations()); //Act var result = controller.All(StartTown, EndTown, Date, MinPageSize); //Assert result.Should().BeOfType <ViewResult>(); var model = result.As <ViewResult>().Model.As <AllRoutes>(); model.Routes.Should().HaveCount(TotalRoutes); model.Pagination.CurrentPage.Should().Be(MinPageSize); model.Pagination.NextPage.Should().Be(MaxPageSize); model.Pagination.PreviousPage.Should().Be(MinPageSize); model.Pagination.TotalElements.Should().Be(TotalRoutes); }
private static void UpdateFailoverRoute(FlowrouteNumbersAndMessagingClient client, string DID, string route_id) { RoutesController routes = client.Routes; string result = routes.UpdateFailoverVoiceRouteForAPhoneNumber(DID, route_id); Console.WriteLine(result); }
public async Task Then_Gets_Routes_From_Mediator( GetRoutesQueryResult mediatorResult, [Frozen] Mock <IMediator> mockMediator, [Greedy] RoutesController controller) { mockMediator .Setup(mediator => mediator.Send( It.IsAny <GetRoutesQuery>(), It.IsAny <CancellationToken>())) .ReturnsAsync(mediatorResult); var controllerResult = await controller.GetRoutes() as ObjectResult; Assert.IsNotNull(controllerResult); controllerResult.StatusCode.Should().Be((int)HttpStatusCode.OK); var model = controllerResult.Value as GetRoutesResponse; Assert.IsNotNull(model); foreach (var sector in model.Routes) { mediatorResult.Routes.Should().Contain(c => c.Name.Equals(sector.Route)); mediatorResult.Routes.Should().Contain(c => c.Id.Equals(sector.Id)); } }
public void TestGetIndex() { // Arrange var controller = new RoutesController(new RouteLogic(new RouteRepositoryStub()), new StationLogic(new StationRepositoryStub())); var RouteList = new List <Route> { new Route { RouteID = 1, RouteName = "R1" }, new Route { RouteID = 2, RouteName = "R2" }, }; // ACt var result = (ViewResult)controller.Index(); var resultList = (List <Route>)result.Model; // Assert Assert.AreEqual("", result.ViewName); for (int i = 0; i < resultList.Count(); i++) { Assert.AreEqual(RouteList[i].RouteID, resultList[i].RouteID); Assert.AreEqual(RouteList[i].RouteName, resultList[i].RouteName); } }
public void TestGetDetails() { // Arrange var controller = new RoutesController(new RouteLogic(new RouteRepositoryStub()), new StationLogic(new StationRepositoryStub())); var RouteStations = new List <Station> { new Station { StationID = 1, StationName = "Oslo S", StationNumber = 1 }, new Station { StationID = 2, StationName = "Nationaltheatret", StationNumber = 2 }, new Station { StationID = 3, StationName = "Lysaker", StationNumber = 3 } }; var OneRoute = new Route { RouteID = 1, RouteName = "R1", RouteStations = RouteStations }; // ACt var result = (ViewResult)controller.Details(1); var resultRoute = (Route)result.Model; // Assert Assert.AreEqual("", result.ViewName); Assert.AreEqual(OneRoute.RouteID, resultRoute.RouteID); Assert.AreEqual(OneRoute.RouteName, resultRoute.RouteName); for (int i = 0; i < OneRoute.RouteStations.Count(); i++) { Assert.AreEqual(OneRoute.RouteStations[i].StationID, resultRoute.RouteStations[i].StationID); Assert.AreEqual(OneRoute.RouteStations[i].StationName, resultRoute.RouteStations[i].StationName); Assert.AreEqual(OneRoute.RouteStations[i].StationNumber, resultRoute.RouteStations[i].StationNumber); } }
public void Post_Edit_WhenCompanyIsBlockedShouldRedirectToAllRoutes() { //Arrange var controller = new RoutesController(this.routeService.Object, null, this.fixture.UserManagerMockInstance.Object, this.companyService.Object, null); this.routeService.Setup(r => r.IsRouteOwner(It.IsAny <int>(), It.IsAny <string>())) .Returns(true); this.companyService.Setup(c => c.IsApproved(It.IsAny <string>())) .Returns(true); this.companyService.Setup(c => c.IsBlocked(It.IsAny <string>())) .Returns(true); this.PrepareTempData(); controller.TempData = this.tempData.Object; //Act var result = controller.Edit(null, RouteId); //Assert this.AssertRedirectToCompanyRoutes(result); this.customMessage.Should().Be(WebConstants.Message.ChangeRouteCompanyBlocked); }
public void Get_Edit_WhenRouteHasReservedTicketsShouldRedirectToAllRoutes() { //Arrange var controller = new RoutesController(this.routeService.Object, this.townService.Object, this.fixture.UserManagerMockInstance.Object, this.companyService.Object, null); this.routeService.Setup(r => r.IsRouteOwner(It.IsAny <int>(), It.IsAny <string>())) .Returns(true); this.companyService.Setup(c => c.IsApproved(It.IsAny <string>())) .Returns(true); this.companyService.Setup(c => c.IsBlocked(It.IsAny <string>())) .Returns(false); this.routeService.Setup(r => r.GetRouteToEdit(It.IsAny <string>(), It.IsAny <int>())) .Returns(this.GetRouteToEdit()); this.townService.SetupSequence(t => t.GetTownNameByStationId(It.IsAny <int>())) .Returns(StartTownName) .Returns(EndTownName); this.routeService.Setup(r => r.HasReservedTickets(It.IsAny <int>(), It.IsAny <string>())) .Returns(true); this.PrepareTempData(); controller.TempData = this.tempData.Object; //Act var result = controller.Edit(RouteId); //Assert this.AssertRedirectToCompanyRoutes(result); this.customMessage.Should().Be(string.Format(WebConstants.Message.EditRouteWithTickets, StartTownName, EndTownName)); }
public void EditTest() { var controller = new RoutesController(); var result = controller.Edit(1) as ViewResult; var route = result.Model as Route; Assert.IsTrue(route.RouteName == "Route - 1"); }
public void DetailsTest() { var controller = new RoutesController(); var result = controller.Details(1) as PartialViewResult; var route = result.Model as Route; Assert.IsTrue(route.RouteName == "Route - 1"); }
public void Setup() { _productServiceMock = new Mock <IProductService>(); _requestProvider = new Mock <IRequestProvider>(); _routesController = new RoutesController(null, _productServiceMock.Object); _routesController.ControllerContext = new ControllerContext(); _routesController.ControllerContext.HttpContext = new DefaultHttpContext(); }
public void Paths_Get_Specific(params string[] values) { RoutesController controller = new RoutesController(_pathRepository, _pointRepository, _routeRepository); IActionResult result = controller.GetRoutes(values[0], values[1], char.Parse(values[2])); List <Route> route = ((ObjectResult)(result.Should().Subject)).Value.As <List <Route> >(); route.Should().HaveCountGreaterThan(0, $"Routes total should be greater than 0"); }
public void Routes_Get_Id_StatusCode_200(int status) { RoutesController controller = new RoutesController(_pathRepository, _pointRepository, _routeRepository); IActionResult result = controller.GetRoutes("A", "A", 'A'); int?statusCode = ((ObjectResult)(result.Should().Subject)).StatusCode; statusCode.Should().Be(status, $"StatusCode should be {status}"); }
public void TestGetAdd() { // Arrange var controller = new RoutesController(new RouteLogic(new RouteRepositoryStub()), new StationLogic(new StationRepositoryStub())); // ACt var result = (ViewResult)controller.Add(); // Assert Assert.AreEqual("", result.ViewName); }
public void TestPostDeleteStationNotExsist() { // Arrange var controller = new RoutesController(new RouteLogic(new RouteRepositoryStub()), new StationLogic(new StationRepositoryStub())); // ACt var result = controller.DeleteStation(1, 100) as HttpNotFoundResult; // Assert Assert.AreEqual(404, result.StatusCode); }
public void Routes_Get_All_StatusCode_404(int status) { IRouteRepository routeRepository = null; RoutesController controller = new RoutesController(_pathRepository, _pointRepository, routeRepository); IActionResult result = controller.GetRoutes(); int?statusCode = ((NotFoundResult)(result.Should().Subject)).StatusCode; statusCode.Should().Be(status, $"StatusCode should be {status}"); }
public void GetBusOfRoute() { var target = new RoutesController(this._EFRouteRepository, this._EFRouteBusStopRepository, this._EFBusStopRepository, this._EFRouteBusRepository, this._MockMapper); var okResult = target.GetAllBussesOfRoute(3) as OkObjectResult; var busses = (List <ReturnBusAndDriverInRouteDto>)okResult.Value; Assert.Equal(200, okResult.StatusCode); Assert.Equal("AF22454", busses[0].Bus.RegistrationNumber.ToString()); Assert.Equal(2, busses.Count); }
public void GetBusStopsOfRoute() { var target = new RoutesController(this._EFRouteRepository, this._EFRouteBusStopRepository, this._EFBusStopRepository, this._EFRouteBusRepository, this._MockMapper); var okResult = target.GetAllBusStopsOfRoute(3) as OkObjectResult; var busStops = (List <ReturnBusStopWithOrderDto>)okResult.Value; Assert.Equal(200, okResult.StatusCode); Assert.Equal(13, busStops.Count); Assert.Equal("Allerød St.", busStops[0].BusStop.Label.ToString()); }
public void ControllerShouldBeForAuthorizedUsersOnly() { //Arrange var controller = new RoutesController(null, null, null, null, null); //Act var attributes = controller.GetType().GetCustomAttributes(true); //Assert attributes.Any(a => a.GetType() == typeof(AuthorizeAttribute)); }