public async Task InsertReservationTest()
        {
            // arrange
            GetCarRequest carRequestId = new GetCarRequest {
                IdFilter = 2
            };
            CarDto car = _autoClient.GetCar(carRequestId);

            GetCustomerRequest customerRequestId = new GetCustomerRequest {
                IdFilter = 1
            };
            CustomerDto customer = _kundeClient.GetCustomer(customerRequestId);

            DateTime from = new DateTime(2020, 12, 1, 0, 0, 0, DateTimeKind.Utc);
            DateTime to   = new DateTime(2020, 12, 3, 0, 0, 0, DateTimeKind.Utc);

            ReservationDto reservation = new ReservationDto
            {
                Car      = car,
                Customer = customer,
                From     = from.ToTimestamp(),
                To       = to.ToTimestamp(),
            };

            // act
            ReservationDto insertedReservation = _target.InsertReservation(reservation);

            // assert
            Assert.Equal(reservation.Car, insertedReservation.Car);
            Assert.Equal(customer.Id, insertedReservation.Customer.Id);
        }
        public async Task CheckAvailabilityIsFalseTest()
        {
            //arrange
            GetCarRequest carRequestId = new GetCarRequest {
                IdFilter = 2
            };
            CarDto car = _autoClient.GetCar(carRequestId);

            GetCustomerRequest customerRequestId = new GetCustomerRequest {
                IdFilter = 1
            };
            CustomerDto customer = _kundeClient.GetCustomer(customerRequestId);

            DateTime from = new DateTime(2020, 1, 19, 0, 0, 0, DateTimeKind.Utc);
            DateTime to   = new DateTime(2020, 1, 22, 0, 0, 0, DateTimeKind.Utc);

            ReservationDto reservation = new ReservationDto
            {
                Car      = car,
                Customer = customer,
                From     = from.ToTimestamp(),
                To       = to.ToTimestamp(),
            };
            //act
            CheckResponse available = _target.AvailabilityCheck(reservation);

            //assert
            Assert.False(available.IsValid);
        }
        public async Task InsertReservationWithAutoNotAvailableTest()
        {
            // arrange
            GetCarRequest carRequestId = new GetCarRequest {
                IdFilter = 2
            };
            CarDto car = _autoClient.GetCar(carRequestId);

            GetCustomerRequest customerRequestId = new GetCustomerRequest {
                IdFilter = 1
            };
            CustomerDto customer = _kundeClient.GetCustomer(customerRequestId);

            DateTime from = new DateTime(2020, 1, 19, 0, 0, 0, DateTimeKind.Utc);
            DateTime to   = new DateTime(2020, 1, 22, 0, 0, 0, DateTimeKind.Utc);

            ReservationDto reservation = new ReservationDto
            {
                Car      = car,
                Customer = customer,
                From     = from.ToTimestamp(),
                To       = to.ToTimestamp(),
            };

            // act


            // assert
            Assert.Throws <RpcException>(() => _target.InsertReservation(reservation));
        }
Exemple #4
0
        public static Task <GetCarResponse> GetCarResponseAsync(Guid id, IEndpointInstance endpointInstance)
        {
            var message     = new GetCarRequest(id);
            var sendOptions = new SendOptions();

            sendOptions.SetDestination("NServiceBusCore.Server");
            var responseTask = endpointInstance
                               .Request <GetCarResponse>(message, sendOptions);

            return(responseTask);
        }
        public async Task GetCarByIdWithIllegalIdTest()
        {
            // arrange
            var requestId = new GetCarRequest {
                IdFilter = 9
            };

            // act

            // assert
            Assert.Throws <RpcException>(() => _target.GetCar(requestId));
        }
        public async Task DeleteCarTest()
        {
            var requestId = new GetCarRequest {
                IdFilter = 4
            };

            CarDto toDelete = _target.GetCar(requestId);
            // act
            Empty emptyDelete = _target.DeleteCar(toDelete);

            // assert
            Assert.Throws <RpcException>(() => _target.GetCar(requestId));
        }
        public async Task GetCarByIdTest()
        {
            // arrange
            var requestId = new GetCarRequest {
                IdFilter = 2
            };

            // act
            CarDto reply = _target.GetCar(requestId);

            // assert
            Assert.Equal("VW Golf", reply.Make);
        }
        public async Task UpdateCarTest()
        {
            //arrange
            var requestId = new GetCarRequest {
                IdFilter = 3
            };
            CarDto toUpdate = _target.GetCar(requestId);

            //act
            toUpdate.Make = "Subaru";
            Empty emptyUpdate = _target.UpdateCar(toUpdate);

            // assert
            toUpdate = _target.GetCar(requestId);
            Assert.Equal("Subaru", toUpdate.Make);
        }
Exemple #9
0
        public override async Task <CarDto> GetCar(GetCarRequest request, ServerCallContext context)
        {
            CarDto response = new CarDto();

            try
            {
                Car data = await _carManager.Get(request.IdFilter);

                response = data.ConvertToDto();
            }
            catch (System.Exception e)
            {
                throw new RpcException(new Status(StatusCode.NotFound, e.Message));
            }

            return(await Task.FromResult(response));
        }
        public async Task UpdateCarWithOptimisticConcurrencyTest()
        {
            //arrange
            var requestId = new GetCarRequest {
                IdFilter = 3
            };
            CarDto toUpdate       = _target.GetCar(requestId);
            CarDto secondToUpdate = _target.GetCar(requestId);

            //act
            toUpdate.Make = "Subaru";

            Empty emptyUpdate = _target.UpdateCar(toUpdate);

            toUpdate.Make = "BMW";
            // assert
            Assert.Throws <RpcException>(() => _target.UpdateCar(toUpdate));
        }
        public async Task InsertCarTest()
        {
            // arrange
            CarDto car1 = new CarDto
            {
                Make      = "Volvo V40",
                DailyRate = 100,
            };
            // act
            var    requestInsert = car1;
            CarDto carToInsert   = _target.InsertCar(requestInsert);
            // assert
            var requestId = new GetCarRequest {
                IdFilter = carToInsert.Id
            };
            CarDto insertedCar = _target.GetCar(requestId);

            Assert.Equal(carToInsert.Id, insertedCar.Id);
            Assert.Equal("Volvo V40", insertedCar.Make);
        }
Exemple #12
0
        public override async Task <GetCarReply> GetCar(GetCarRequest request, ServerCallContext context)
        {
            var car = await _queryRepository.GetById(request.Id);

            var reservation = new RepeatedField <CarReservation>();

            reservation.AddRange(car.CarReservations.Select(x => new CarReservation()
            {
                StartDate = x.StartDate.ToTimestamp(),
                EndDate   = x.EndDate.ToTimestamp(),
                Id        = x.Id.ToString()
            }));
            var result = new GetCarReply()
            {
                Id              = car.Id.ToString(),
                CarType         = car.CarType.ToString(),
                Name            = car.Name,
                Price           = car.Price,
                CarReservations = { reservation }
            };

            return(result);
        }