Esempio n. 1
0
        [Test] // behaviour test
        public void Create_When_entity_is_created_Then_it_makes_calls_to_repository_and_unit_of_work()
        {
            // Arrange
            var flightDTOToCreate = new FlightDTO()
            {
                Number         = "AABBCC",
                DeparturePlace = "from place",
                DepartureTime  = new DateTime(1, 1, 1, 12, 0, 0),
                ArrivalPlace   = "to place",
                ArrivalTime    = new DateTime(1, 1, 1, 18, 0, 0)
            };

            var flightRepositoryFake = A.Fake <IFlightRepository>();

            var unitOfWorkFake = A.Fake <IUnitOfWork>();

            A.CallTo(() => unitOfWorkFake.Set <Flight>()).Returns(flightRepositoryFake);

            var flightService = new FlightService(unitOfWorkFake, AlwaysValidValidator);

            // Act
            var result = flightService.Create(flightDTOToCreate);

            // Assert. Just behaviour
            A.CallTo(() => flightRepositoryFake.Create(A <Flight> ._)).MustHaveHappenedOnceExactly();
            A.CallTo(() => unitOfWorkFake.Set <Flight>()).MustHaveHappenedOnceExactly();
            A.CallTo(() => unitOfWorkFake.SaveChanges()).MustHaveHappenedOnceExactly();
        }
        public void Create_AddsSuccessfulyToDatabase()
        {
            //Arrange
            var data = flightView;

            var Flights = flights.AsQueryable();

            var mockSet = new Mock <DbSet <Flight> >();

            mockSet.As <IQueryable <Flight> >().Setup(m => m.Provider).Returns(Flights.Provider);
            mockSet.As <IQueryable <Flight> >().Setup(m => m.Expression).Returns(Flights.Expression);
            mockSet.As <IQueryable <Flight> >().Setup(m => m.ElementType).Returns(Flights.ElementType);
            mockSet.As <IQueryable <Flight> >().Setup(m => m.GetEnumerator()).Returns(() => Flights.GetEnumerator());

            var mockContext = new Mock <FlightManagerDbContext>();

            mockContext.Setup(x => x.Flights).Returns(mockSet.Object);

            //Act
            var service = new FlightService(mockContext.Object);

            service.Create(data);

            //Assert
            mockContext.Verify(x => x.SaveChanges(), Times.Once());
        }
Esempio n. 3
0
        [Test] // behaviour test
        public void Create_When_entity_is_invalid_Then_it_makes_no_calls_to_repository_and_unit_of_work()
        {
            // Arrange
            var flightDTOToCreate = new FlightDTO()
            {
                Number         = "AABBCC",
                DeparturePlace = "from place",
                DepartureTime  = new DateTime(1, 1, 1, 12, 0, 0),
                ArrivalPlace   = "to place",
                ArrivalTime    = new DateTime(1, 1, 1, 18, 0, 0)
            };

            var flightRepositoryFake = A.Fake <IFlightRepository>();

            var unitOfWorkFake = A.Fake <IUnitOfWork>();

            A.CallTo(() => unitOfWorkFake.Set <Flight>()).Returns(flightRepositoryFake);

            var flightService = new FlightService(unitOfWorkFake, AlwaysInValidValidator);

            // Act + Assert
            var exception = Assert.Throws <BadRequestException>(() => flightService.Create(flightDTOToCreate));

            // Assert. Just behaviour
            A.CallTo(() => flightRepositoryFake.Create(A <Flight> ._)).MustNotHaveHappened();
            A.CallTo(() => unitOfWorkFake.FlightRepository).MustNotHaveHappened();
            A.CallTo(() => unitOfWorkFake.Set <Flight>()).MustNotHaveHappened();
            A.CallTo(() => unitOfWorkFake.SaveChanges()).MustNotHaveHappened();
        }
Esempio n. 4
0
        public void CreateTestFixture()
        {
            //Create a mock object of a Flight class
            var mockFlight         = new Mock <Flight>();
            var mockFlightServices = new Mock <IFlight>();

            //Mock the properties of mockFlight
            mockFlight.SetupProperty(client => client.Id, 1)
            .SetupProperty(client => client.AirPlaneId, 1)
            .SetupProperty(client => client.ArrivalAirportId, 1)
            .SetupProperty(client => client.DepartureAirportId, 1)
            .SetupProperty(client => client.AddedDate, System.DateTime.Now)
            .SetupProperty(client => client.ModifiedDate, System.DateTime.Now);;

            //Configure dummy method so that it return true when it gets any string as parameters to the method

            mockFlightServices.Setup(r => r.Create(It.IsAny <Flight>())).Throws(new Exception("TestException"));

            IFlight FlightHelpersServices = new FlightService(_unitOfWork);

            //Use the mock object of FlightHelpersServices instead of actual object
            FlightHelpersServices.Create(mockFlight.Object);

            //Verify that it return true


            //Verify that the mockFlightHelpersServices AddOrUpdate methods gets called exactly once when Flight is passed as parameters
            mockFlightServices.Verify(client => client.Create(It.IsAny <Flight>()));
        }
        public async Task Create_WhenFlightNull_ThenReturnExeption()
        {
            var Flights = new IFakeRepository <Flight>();
            var context = new IFakeUnitOfFactory();

            FlightDto FlightDto = null;

            FlightService service        = new FlightService(context);
            FlightDto     FlightDtoSaved = await service.Create(FlightDto);
        }
Esempio n. 6
0
 public ActionResult <Flight> Create([FromBody] Flight newIng)
 {
     try
     {
         return(Ok(_service.Create(newIng)));
     }
     catch (Exception e)
     {
         return(BadRequest(e.Message));
     }
 }
Esempio n. 7
0
        public void Create_When_entity_is_created_Then_new_flight_with_new_id_is_returned()
        {
            // Arrange
            var flightMock = new Flight
            {
                Id             = 1,
                Number         = "AABBCC",
                DeparturePlace = "from place",
                DepartureTime  = new DateTime(1, 1, 1, 12, 0, 0),
                ArrivalPlace   = "to place",
                ArrivalTime    = new DateTime(1, 1, 1, 18, 0, 0)
            };

            var flightDTOToCreate = new FlightDTO
            {
                Number         = "AABBCC",
                DeparturePlace = "from place",
                DepartureTime  = new DateTime(1, 1, 1, 12, 0, 0),
                ArrivalPlace   = "to place",
                ArrivalTime    = new DateTime(1, 1, 1, 18, 0, 0)
            };

            var expectedFlightDTO = new FlightDTO
            {
                Id             = 1,
                Number         = "AABBCC",
                DeparturePlace = "from place",
                DepartureTime  = new DateTime(1, 1, 1, 12, 0, 0),
                ArrivalPlace   = "to place",
                ArrivalTime    = new DateTime(1, 1, 1, 18, 0, 0)
            };
            var flightRepositoryFake = A.Fake <IFlightRepository>();

            A.CallTo(() => flightRepositoryFake.Create(A <Flight> ._)).Returns(flightMock);

            var unitOfWorkFake = A.Fake <IUnitOfWork>();

            A.CallTo(() => unitOfWorkFake.Set <Flight>()).Returns(flightRepositoryFake);

            var flightService = new FlightService(unitOfWorkFake, AlwaysValidValidator);

            // Act
            var result = flightService.Create(flightDTOToCreate);

            // Assert
            Assert.AreEqual(expectedFlightDTO.Id, result.Id);
            Assert.AreEqual(expectedFlightDTO.Number, result.Number);
            Assert.AreEqual(expectedFlightDTO.DeparturePlace, result.DeparturePlace);
            Assert.AreEqual(expectedFlightDTO.DepartureTime, result.DepartureTime);
            Assert.AreEqual(expectedFlightDTO.ArrivalPlace, result.ArrivalPlace);
            Assert.AreEqual(expectedFlightDTO.ArrivalTime, result.ArrivalTime);
        }
        public async Task SubmitCreate(string dep, DateTime depDate, string arr, DateTime arrDate)
        {
            Flight flight = new Flight();

            flight.DeperturePlace = dep;
            flight.DepartureTime  = depDate;
            flight.ArrivalPlace   = arr;
            flight.ArrivalTime    = arrDate;

            await fs.Create(flight);

            this.Frame.Navigate(typeof(Flights));
        }
Esempio n. 9
0
        public void Create_WhenDtoIsEmpty_ThenThrowValidExeption()
        {
            // Arrange
            var dto = new FlightDto()
            {
            };

            var service = new FlightService(unitOfWorkFake, mapper, validator);

            // Act

            // Assert
            Assert.Throws <ValidationException>(() => service.Create(dto));
        }
Esempio n. 10
0
        public async Task Create()
        {
            Flight flight = await flightService.Create(Flight);

            Flight = new Flight();

            List <Flight> tempFlights = await flightService.GetAll();

            Flights = new ObservableCollection <Flight>();
            foreach (var item in tempFlights)
            {
                Flights.Add(item);
            }
            NotifyPropertyChanged(() => Flights);
        }
        public void FlightService_CheckInsert_Created()
        {
            // Arrange
            var mock = new Mock <IFlightRepository>();

            mock.Setup(repo => repo.Create(StubsObjects.Flight.ToEntity()))
            .Returns(() => Task.CompletedTask);

            var service = new FlightService(mock.Object);

            // Act
            var result = service.Create(StubsObjects.Flight).Result;

            // Assert
            Assert.Equal(StatusCode.Created, result);
        }
        public async Task Create_WhenValidFlight_ThenReturnFlight()
        {
            var Flights = new IFakeRepository <Flight>();
            var context = new IFakeUnitOfFactory();

            FlightDto flightDto = new FlightDto()
            {
                Id           = 154,
                ArrivalPoint = "Kiev"
            };

            FlightService service        = new FlightService(context);
            FlightDto     FlightDtoSaved = await service.Create(flightDto);

            Assert.AreEqual(flightDto.ArrivalPoint, FlightDtoSaved.ArrivalPoint);
            Assert.AreEqual(flightDto.Id, FlightDtoSaved.Id);
        }
Esempio n. 13
0
        public async Task CreateFlight_WhenFlightValid_ReturnNewFlight()
        {
            FlightDto flight = new FlightDto()
            {
                ArrivalPoint   = "Test",
                DeparturePoint = "Test",
                ArrivalTime    = new TimeSpan(),
                DepartureTime  = new TimeSpan(),
                Tickets        = new List <TicketDto>()
            };
            FlightDto flightDtoSaved = await serviceFlight.Create(flight);

            Assert.AreEqual(flight.ArrivalPoint, flight.ArrivalPoint);
            Assert.AreEqual(flight.DeparturePoint, flight.DeparturePoint);

            bool result = await serviceFlight.Delete <Aircraft>(aircr => aircr.Id == flightDtoSaved.Id);

            Assert.IsTrue(result);
        }
Esempio n. 14
0
        public void Create_WhenDtoIsPassed_ThenReturnedTheSameWithCreatedId()
        {
            // Arrange
            var ticketsId = new List <Guid>
            {
                Guid.NewGuid()
            };

            var dto = new FlightDto()
            {
                Name           = "AAA-111",
                Destinition    = "B",
                DeparturePoint = "A",
                ArrivalTime    = new DateTime(2018, 07, 17, 13, 0, 0),
                DepartureTime  = new DateTime(2018, 07, 17, 14, 0, 0),
                TicketsId      = ticketsId
            };

            A.CallTo(() => unitOfWorkFake.TicketRepository.GetAll())
            .Returns(new List <Ticket> {
                new Ticket {
                    Id = ticketsId[0]
                }
            });

            var service = new FlightService(unitOfWorkFake, mapper, alwaysValidValidator);

            // Act
            var returnedDto = service.Create(dto);

            // Assert
            Assert.True(returnedDto.Id != default(Guid));
            Assert.AreEqual(dto.Name, returnedDto.Name);
            Assert.AreEqual(dto.Destinition, returnedDto.Destinition);
            Assert.AreEqual(dto.DepartureTime, returnedDto.DepartureTime);
            Assert.AreEqual(dto.DeparturePoint, returnedDto.DeparturePoint);
            Assert.AreEqual(dto.TicketsId.Count, returnedDto.TicketsId.Count);

            foreach (var item in dto.TicketsId)
            {
                Assert.Contains(item, returnedDto.TicketsId);
            }
        }
        public void FlightService_CheckInsert_ThrowNameException()
        {
            // Arrange
            var mock = new Mock <IFlightRepository>();

            mock.Setup(repo => repo.Create(new FlightEntity()))
            .Returns(() => Task.CompletedTask);

            var service = new FlightService(mock.Object);

            // Act
            var ex = Assert.ThrowsAnyAsync <TimeException>(() => service.Create(new Flight()
            {
                ArrivalTimeUtc   = DateTime.Now,
                DepartureTimeUtc = DateTime.Now.AddHours(1)
            }));

            // Assert
            Assert.Equal("Check the correctness of what you entered date interval.", ex.Result.Message);
        }
Esempio n. 16
0
        public void Create_When_FlightModel_is_not_valid_Then_throws_ValidatorException()
        {
            var tickets = service.Get(1).Tickets;
            var flight1 = new FlightDto()
            {
                ID              = -1,
                DeparturePoint  = "Kyiv",
                DepartureTime   = DateTime.Now,
                Destination     = "Lviv",
                DestinationTime = DateTime.Now.AddHours(2),
                Number          = Guid.NewGuid(),
                Tickets         = tickets
            };
            var flight2 = new FlightDto()
            {
                DepartureTime   = DateTime.Now,
                Destination     = "Lviv",
                DestinationTime = DateTime.Now.AddHours(2),
                Number          = Guid.NewGuid(),
                Tickets         = tickets
            };
            var flight3 = new FlightDto()
            {
                DeparturePoint  = "Kyiv",
                DepartureTime   = DateTime.Now,
                Destination     = "Lviv",
                DestinationTime = DateTime.Now,
                Number          = Guid.NewGuid(),
                Tickets         = tickets
            };
            var flight4 = new FlightDto()
            {
                DeparturePoint  = "Kyiv",
                DepartureTime   = DateTime.Now,
                Destination     = "Kyiv",
                DestinationTime = DateTime.Now.AddHours(2),
                Number          = Guid.NewGuid(),
                Tickets         = tickets
            };

            Assert.Throws <FluentValidation.ValidationException>(() => service.Create(flight1));
            Assert.Throws <FluentValidation.ValidationException>(() => service.Create(flight2));
            Assert.Throws <FluentValidation.ValidationException>(() => service.Create(flight3));
            Assert.Throws <FluentValidation.ValidationException>(() => service.Create(flight4));
        }
Esempio n. 17
0
        public void Create_When_entity_is_invalid_Then_bad_request_exception_is_thrown()
        {
            // Arrange
            var flightMock = new Flight()
            {
                Id             = 2,
                Number         = "AABBCC",
                DeparturePlace = "from place",
                DepartureTime  = new DateTime(1, 1, 1, 12, 0, 0),
                ArrivalPlace   = "to place",
                ArrivalTime    = new DateTime(1, 1, 1, 18, 0, 0)
            };

            var flightDTOToCreate = new FlightDTO()
            {
                Number         = "AABBCC",
                DeparturePlace = "from place",
                DepartureTime  = new DateTime(1, 1, 1, 12, 0, 0),
                ArrivalPlace   = "to place",
                ArrivalTime    = new DateTime(1, 1, 1, 18, 0, 0)
            };

            var flightRepositoryFake = A.Fake <IFlightRepository>();

            A.CallTo(() => flightRepositoryFake.Create(A <Flight> ._)).Returns(flightMock);

            var unitOfWorkFake = A.Fake <IUnitOfWork>();

            A.CallTo(() => unitOfWorkFake.Set <Flight>()).Returns(flightRepositoryFake);

            var flightService = new FlightService(unitOfWorkFake, AlwaysInValidValidator);

            // Act + Assert
            var exception = Assert.Throws <BadRequestException>(() => flightService.Create(flightDTOToCreate), "");

            Assert.AreEqual(exception.Message, "Is Invalid");
        }
Esempio n. 18
0
        async void Create()
        {
            await flightservice.Create(Flight);

            await LoadEntity().ConfigureAwait(false);
        }
Esempio n. 19
0
        async void Create()
        {
            await _flightService.Create(Flight);

            await LoadFlights().ConfigureAwait(false);
        }
 public void Post([FromBody] FlightDTO value)
 {
     flightService.Create(value);
 }