public void NewGuestHostReservation_Fail()
        {
            Guest newGuest = new Guest();

            newGuest.Id = _guestsRepo.GetNumberOfGuests() + 1;
            ActionResult <Guest> guestActionResult = _guestsController.CreateGuest(newGuest);

            Assert.IsTrue(guestActionResult.Result is CreatedAtRouteResult);

            HostCreateDto newHost = new HostCreateDto();

            newHost.Apartment                 = new ApartmentCreateDto();
            newHost.Apartment.Address         = new Address();
            newHost.Apartment.Address.Country = "Israel";
            newHost.Apartment.Address.City    = "Netanya";
            newHost.Apartment.Address.Street  = "Beeri";
            ActionResult <HostReadDto> hostActionResult = _hostsController.CreateHost(newHost);

            Assert.IsTrue(hostActionResult.Result is CreatedAtRouteResult);
            CreatedAtRouteResult hostReadDto = hostActionResult.Result as CreatedAtRouteResult;

            ReservationCreateDto newReservations = new ReservationCreateDto();

            newReservations.ArrivingDate       = new DateTime(2018, 08, 01);
            newReservations.LeavingDate        = new DateTime(2018, 07, 09);
            newReservations.ReservationGuestId = newGuest.Id;
            newReservations.ReservationHostId  = ((HostReadDto)hostReadDto.Value).Id;
            ActionResult <ReservationReadDto> reservationSctionResult = _reservationsController.CreateReservation(newReservations);

            Assert.IsTrue(reservationSctionResult.Result is NotFoundObjectResult);
        }
        public ActionResult <HostReadDto> CreateHost([FromBody] HostCreateDto hostCreateDto)
        {
            Host hostModel = _mapper.Map <Host>(hostCreateDto);

            hostModel.Apartment.NumberOfTimesReserved = 0;
            _repo.CreateHost(hostModel);
            _repo.SaveChanges();
            HostReadDto hostReadDto = _mapper.Map <HostReadDto>(hostModel);

            return(CreatedAtRoute(nameof(GetHostById), new { id = hostReadDto.Id }, hostReadDto));
        }
        public void CreateHost_ShouldCreateHost()
        {
            HostCreateDto newHost = new HostCreateDto();

            newHost.Apartment                 = new ApartmentCreateDto();
            newHost.Apartment.Address         = new Address();
            newHost.Apartment.Address.Country = "Israel";
            newHost.Apartment.Address.City    = "Netanya";
            newHost.Apartment.Address.Street  = "Beeri";
            ActionResult <HostReadDto> actionResult = _controller.CreateHost(newHost);

            Assert.IsTrue(actionResult.Result is CreatedAtRouteResult);
        }