public void ViewAirline(AirlineController airline)
 {
     Console.WriteLine(
         airline.Airlines.ToStringTable(
             new[]
     {
         "Arrived at",
         "Departed at",
         "Flight number",
         "City of arrival",
         "City of departure",
         "Terminal",
         "Gate",
         "Flight status",
         "Plane"
     },
             plane => plane.Value.ArrivedDateTime,
             plane => plane.Value.DepartedDateTime,
             plane => plane.Value.Number,
             plane => plane.Value.ArrivedCity,
             plane => plane.Value.DepartedCity,
             plane => plane.Value.TerminalNumber,
             plane => plane.Value.GateNumber,
             plane => plane.Value.Status,
             plane => plane.Value.Planes.Type
             )
         );
 }
示例#2
0
        public async void Patch_No_Errors()
        {
            AirlineControllerMockFacade mock = new AirlineControllerMockFacade();
            var mockResult = new Mock <UpdateResponse <ApiAirlineServerResponseModel> >();

            mockResult.SetupGet(x => x.Success).Returns(true);
            mock.ServiceMock.Setup(x => x.Update(It.IsAny <int>(), It.IsAny <ApiAirlineServerRequestModel>()))
            .Callback <int, ApiAirlineServerRequestModel>(
                (id, model) => model.Name.Should().Be("A")
                )
            .Returns(Task.FromResult <UpdateResponse <ApiAirlineServerResponseModel> >(mockResult.Object));
            mock.ServiceMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult <ApiAirlineServerResponseModel>(new ApiAirlineServerResponseModel()));
            AirlineController controller = new AirlineController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, new ApiAirlineServerModelMapper());

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            var patch = new JsonPatchDocument <ApiAirlineServerRequestModel>();

            patch.Replace(x => x.Name, "A");

            IActionResult response = await controller.Patch(default(int), patch);

            response.Should().BeOfType <OkObjectResult>();
            (response as OkObjectResult).StatusCode.Should().Be((int)HttpStatusCode.OK);
            mock.ServiceMock.Verify(x => x.Update(It.IsAny <int>(), It.IsAny <ApiAirlineServerRequestModel>()));
        }
示例#3
0
        public async void BulkInsert_No_Errors()
        {
            AirlineControllerMockFacade mock = new AirlineControllerMockFacade();

            var mockResponse = ValidationResponseFactory <ApiAirlineServerResponseModel> .CreateResponse(null as ApiAirlineServerResponseModel);

            mockResponse.SetRecord(new ApiAirlineServerResponseModel());
            mock.ServiceMock.Setup(x => x.Create(It.IsAny <ApiAirlineServerRequestModel>())).Returns(Task.FromResult <CreateResponse <ApiAirlineServerResponseModel> >(mockResponse));
            AirlineController controller = new AirlineController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            var records = new List <ApiAirlineServerRequestModel>();

            records.Add(new ApiAirlineServerRequestModel());
            IActionResult response = await controller.BulkInsert(records);

            response.Should().BeOfType <OkObjectResult>();
            (response as OkObjectResult).StatusCode.Should().Be((int)HttpStatusCode.OK);
            var result = (response as OkObjectResult).Value as CreateResponse <List <ApiAirlineServerResponseModel> >;

            result.Success.Should().BeTrue();
            result.Record.Should().NotBeEmpty();
            mock.ServiceMock.Verify(x => x.Create(It.IsAny <ApiAirlineServerRequestModel>()));
        }
        public void BayTicket(AirlineController airline, int passangerId, byte pType, int airlineNumber)
        {
            var type = (ClassEnum)pType;

            switch (type)
            {
            case ClassEnum.Business:
                if (airline.Airlines[airlineNumber].FreeBSeats > 0)
                {
                    PassangersList[passangerId].Tickets.Add(new Ticket(pType, PassangersList[passangerId], airline.Airlines[airlineNumber]));
                    return;
                }
                Console.WriteLine($"There are no seats for {type} class");
                break;

            case ClassEnum.Economy:
                if (airline.Airlines[airlineNumber].FreeBSeats > 0)
                {
                    PassangersList[passangerId].Tickets.Add(new Ticket(pType, PassangersList[passangerId], airline.Airlines[airlineNumber]));
                    return;
                }
                Console.WriteLine($"There are no seats for {type} class");
                break;
            }

            airline.UpdateAirline(airlineNumber, 1, type);
        }
示例#5
0
 public void SetupUnitTest()
 {
     controller = new AirlineController()
     {
         Request = new HttpRequestMessage()
         {
             Properties = { { HttpPropertyKeys.HttpConfigurationKey, new HttpConfiguration() } }
         }
     };
 }
        public void UnBayTicket(AirlineController airline, int passangerId, int airlineNumber)
        {
            var item = PassangersList[passangerId].Tickets.FirstOrDefault(s => s.Flight.Number == airlineNumber);

            if (item != null)
            {
                var type = item.TicketType;
                PassangersList[passangerId].Tickets.Remove(item);

                airline.UpdateAirline(airlineNumber, 2, type);
            }

            return;
        }
示例#7
0
        public async void Get_Not_Exists()
        {
            AirlineControllerMockFacade mock = new AirlineControllerMockFacade();

            mock.ServiceMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult <ApiAirlineServerResponseModel>(null));
            AirlineController controller = new AirlineController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            IActionResult response = await controller.Get(default(int));

            response.Should().BeOfType <StatusCodeResult>();
            (response as StatusCodeResult).StatusCode.Should().Be((int)HttpStatusCode.NotFound);
            mock.ServiceMock.Verify(x => x.Get(It.IsAny <int>()));
        }
示例#8
0
        public async void Delete_Errors()
        {
            AirlineControllerMockFacade mock = new AirlineControllerMockFacade();
            var mockResult = new Mock <ActionResponse>();

            mockResult.SetupGet(x => x.Success).Returns(false);
            mock.ServiceMock.Setup(x => x.Delete(It.IsAny <int>())).Returns(Task.FromResult <ActionResponse>(mockResult.Object));
            AirlineController controller = new AirlineController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            IActionResult response = await controller.Delete(default(int));

            response.Should().BeOfType <ObjectResult>();
            (response as ObjectResult).StatusCode.Should().Be((int)HttpStatusCode.UnprocessableEntity);
            mock.ServiceMock.Verify(x => x.Delete(It.IsAny <int>()));
        }
示例#9
0
        public async void All_Not_Exists()
        {
            AirlineControllerMockFacade mock = new AirlineControllerMockFacade();

            mock.ServiceMock.Setup(x => x.All(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>())).Returns(Task.FromResult <List <ApiAirlineServerResponseModel> >(new List <ApiAirlineServerResponseModel>()));
            AirlineController controller = new AirlineController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            IActionResult response = await controller.All(1000, 0, string.Empty);

            response.Should().BeOfType <OkObjectResult>();
            (response as OkObjectResult).StatusCode.Should().Be((int)HttpStatusCode.OK);
            var items = (response as OkObjectResult).Value as List <ApiAirlineServerResponseModel>;

            items.Should().BeEmpty();
            mock.ServiceMock.Verify(x => x.All(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <string>()));
        }
示例#10
0
        public async void Update_NotFound()
        {
            AirlineControllerMockFacade mock = new AirlineControllerMockFacade();
            var mockResult = new Mock <UpdateResponse <ApiAirlineServerResponseModel> >();

            mockResult.SetupGet(x => x.Success).Returns(false);
            mock.ServiceMock.Setup(x => x.Update(It.IsAny <int>(), It.IsAny <ApiAirlineServerRequestModel>())).Returns(Task.FromResult <UpdateResponse <ApiAirlineServerResponseModel> >(mockResult.Object));
            mock.ServiceMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult <ApiAirlineServerResponseModel>(null));
            AirlineController controller = new AirlineController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, new ApiAirlineServerModelMapper());

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            IActionResult response = await controller.Update(default(int), new ApiAirlineServerRequestModel());

            response.Should().BeOfType <StatusCodeResult>();
            (response as StatusCodeResult).StatusCode.Should().Be((int)HttpStatusCode.NotFound);
            mock.ServiceMock.Verify(x => x.Get(It.IsAny <int>()));
        }
示例#11
0
        public async void Patch_Record_Not_Found()
        {
            AirlineControllerMockFacade mock = new AirlineControllerMockFacade();
            var mockResult = new Mock <ActionResponse>();

            mock.ServiceMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult <ApiAirlineServerResponseModel>(null));
            AirlineController controller = new AirlineController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            var patch = new JsonPatchDocument <ApiAirlineServerRequestModel>();

            patch.Replace(x => x.Name, "A");

            IActionResult response = await controller.Patch(default(int), patch);

            response.Should().BeOfType <StatusCodeResult>();
            (response as StatusCodeResult).StatusCode.Should().Be((int)HttpStatusCode.NotFound);
            mock.ServiceMock.Verify(x => x.Get(It.IsAny <int>()));
        }
示例#12
0
        public async void Create_No_Errors()
        {
            AirlineControllerMockFacade mock = new AirlineControllerMockFacade();

            var mockResponse = new CreateResponse <ApiAirlineResponseModel>(new FluentValidation.Results.ValidationResult());

            mockResponse.SetRecord(new ApiAirlineResponseModel());
            mock.ServiceMock.Setup(x => x.Create(It.IsAny <ApiAirlineRequestModel>())).Returns(Task.FromResult <CreateResponse <ApiAirlineResponseModel> >(mockResponse));
            AirlineController controller = new AirlineController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            IActionResult response = await controller.Create(new ApiAirlineRequestModel());

            response.Should().BeOfType <CreatedResult>();
            (response as CreatedResult).StatusCode.Should().Be((int)HttpStatusCode.Created);
            var createResponse = (response as CreatedResult).Value as CreateResponse <ApiAirlineResponseModel>;

            createResponse.Record.Should().NotBeNull();
            mock.ServiceMock.Verify(x => x.Create(It.IsAny <ApiAirlineRequestModel>()));
        }
示例#13
0
        public async void BulkInsert_Errors()
        {
            AirlineControllerMockFacade mock = new AirlineControllerMockFacade();

            var mockResponse = new Mock <CreateResponse <ApiAirlineServerResponseModel> >(null as ApiAirlineServerResponseModel);

            mockResponse.SetupGet(x => x.Success).Returns(false);

            mock.ServiceMock.Setup(x => x.Create(It.IsAny <ApiAirlineServerRequestModel>())).Returns(Task.FromResult <CreateResponse <ApiAirlineServerResponseModel> >(mockResponse.Object));
            AirlineController controller = new AirlineController(mock.ApiSettingsMoc.Object, mock.LoggerMock.Object, mock.TransactionCoordinatorMock.Object, mock.ServiceMock.Object, mock.ModelMapperMock.Object);

            controller.ControllerContext             = new ControllerContext();
            controller.ControllerContext.HttpContext = new DefaultHttpContext();

            var records = new List <ApiAirlineServerRequestModel>();

            records.Add(new ApiAirlineServerRequestModel());
            IActionResult response = await controller.BulkInsert(records);

            response.Should().BeOfType <ObjectResult>();
            (response as ObjectResult).StatusCode.Should().Be((int)HttpStatusCode.UnprocessableEntity);
            mock.ServiceMock.Verify(x => x.Create(It.IsAny <ApiAirlineServerRequestModel>()));
        }
 public AirlineControllerTest()
 {
     airlineRepository = new Mock <IAirlineRepository>();
     airlineController = new AirlineController(airlineRepository.Object);
 }
示例#15
0
 public void TearDownUnitTest()
 {
     controller = null;
 }