Ejemplo n.º 1
0
        public async Task ShouldPersistNewFlightInDbContext()
        {
            // arrange
            Context.Tenants.Add(new Tenant
            {
                Id          = 1,
                Name        = "test",
                TenantGroup = Domain.Enums.TenantGroup.A
            });
            Context.SaveChanges();

            //act
            var requesHandler = new CreateFlightCommandHandler(Context);
            await requesHandler.Handle(new CreateFlightCommand
            {
                FlightId = FlightId.From("KLM 12345 BCA"),
                Days     = new List <DayOfWeek> {
                    DayOfWeek.Monday
                },
                DefaultPrice = 24,
                From         = "Europe",
                To           = "Africa",
                Hour         = 10,
                Minute       = 30,
                TenantId     = 1
            }, CancellationToken.None);

            //assert
            Assert.IsTrue(Context.Flights.Count() == 1);
        }
Ejemplo n.º 2
0
        public async Task CreateFlightCommandHandler_Should_ChatchThrownAnyExeception()
        {
            var repositoryMock = new Mock <IFlightRepository>();

            repositoryMock.Setup(x => x.ScheduleFlightsAsync(It.IsAny <List <Flight> >())).ThrowsAsync(new Exception("Test"));
            var sut = new CreateFlightCommandHandler(repositoryMock.Object);

            // Act
            await Assert.ThrowsAsync <Exception>(() => sut.Handle(new CreateFlightCommand(), CancellationToken.None));
        }
Ejemplo n.º 3
0
        public async Task Test1()
        {
            // Arrange
            var flights = new List <Flight>()
            {
                new Flight()
                {
                    Id          = 1,
                    Passengers  = new List <Passenger>(),
                    FlightRoute = new FlightRoute("London", "Paris"),
                    Plane       = new Plane(),
                }
            };

            var repositoryMock = new Mock <IFlightRepository>();

            List <Flight> matchObj = new List <Flight>();

            repositoryMock.Setup(x => x.ScheduleFlightsAsync(It.IsAny <List <Flight> >())).Callback <List <Flight> >((obj) => matchObj.AddRange(obj));
            var sut = new CreateFlightCommandHandler(repositoryMock.Object);

            // Act
            var request = new CreateFlightCommand()
            {
            };
            var result = await sut.Handle(request, CancellationToken.None);

            // Assert
            repositoryMock.Verify(x => x.ScheduleFlightsAsync(It.IsAny <List <Flight> >()), Times.Once());
            Assert.Equal(flights.First().Id, matchObj.First().Id);
            Assert.Empty(matchObj.First().Passengers);
            Assert.Equal(flights.First().FlightRoute.Origin, matchObj.First().FlightRoute.Origin);
            Assert.Equal(flights.First().FlightRoute.Destination, matchObj.First().FlightRoute.Destination);
            Assert.IsType <Plane>(matchObj.First().Plane);

            Assert.Equal(Unit.Value, result);
        }