Exemple #1
0
        public async Task <ActionResult> Post([FromBody] RentalRequestModel rentalRequest)
        {
            var rentalDto      = _mapper.Map <RentalDto>(rentalRequest);
            var addedRentalDto = await _service.AddNewRental(rentalDto);

            var responseModel = _mapper.Map <RentalResponseModel>(addedRentalDto);

            return(CreatedAtAction(nameof(GetById), new { id = responseModel.Id }, responseModel));
        }
Exemple #2
0
        public async Task WhenTheClientCreatesARentalFromToWhitVehicle(DateTime startDate, DateTime endDate, long vehicleId)
        {
            var rentalRequest = new RentalRequestModel()
            {
                ClientId  = _registeredClient.Id,
                VehicleId = vehicleId,
                StartDate = startDate,
                EndDate   = endDate
            };

            var response = await _client.PostAsJsonAsync("api/rentals", rentalRequest);

            response.StatusCode.Should().Be(HttpStatusCode.Created);

            var rentalCreated = JsonConvert.DeserializeObject <RentalResponseModel>(await response.Content.ReadAsStringAsync());

            rentalCreated.Id.Should().Be(1);
            rentalCreated.ClientId.Should().Be(_registeredClient.Id);
            rentalCreated.VehicleId.Should().Be(vehicleId);
            rentalCreated.StartDate.Should().Be(startDate);
            rentalCreated.EndDate.Should().Be(endDate);
        }
Exemple #3
0
        public async Task Post_WhenCreateARental_ShouldReturnsTheRentalCreated()
        {
            //Arrenge
            _serviceMock.Setup(s => s.AddNewRental(It.IsAny <RentalDto>()))
            .ReturnsAsync(new RentalDto
            {
                Id        = 1,
                ClientId  = 1,
                StartDate = new DateTime(2021, 04, 1),
                EndDate   = new DateTime(2021, 04, 10)
            });

            var newRentalRequest = new RentalRequestModel
            {
                ClientId  = 1,
                StartDate = new DateTime(2021, 04, 1),
                EndDate   = new DateTime(2021, 04, 10)
            };

            //Act
            var result = await _sut.Post(newRentalRequest);

            //Assert
            result.Should().BeOfType(typeof(CreatedAtActionResult));
            var value = result.As <ObjectResult>().Value.As <RentalResponseModel>();

            value.Id.Should().Be(1);
            value.ClientId.Should().Be(1);
            value.StartDate.Should().Be(new DateTime(2021, 04, 1));
            value.EndDate.Should().Be(new DateTime(2021, 04, 10));

            _serviceMock.Verify(s => s.AddNewRental(It.Is <RentalDto>(r => r.ClientId == 1 &&
                                                                      r.StartDate == new DateTime(2021, 04, 1) &&
                                                                      r.EndDate == new DateTime(2021, 04, 10)
                                                                      )), Times.Once);
        }