public void DeleteTA()
        {
            var repo       = new MockUnitOfWork();
            var controller = new AttractionsController(repo, _mapper);

            repo.Cities.AddRange(_testData.Cities);
            repo.Cities.Get(0).Attractions.AddRange(_testData.Attractions);
            var attractionId = 1;

            var response = controller.Delete(1);

            Assert.IsType <NoContentResult>(response);
            Assert.Null(repo.TouristAttractions.SingleOrDefault(t => t.Id == attractionId));
        }
        public void GetAllTAs()
        {
            var repo       = new MockUnitOfWork();
            var controller = new AttractionsController(repo, _mapper);

            repo.Cities.AddRange(_testData.Cities);
            repo.Cities.Get(0).Attractions.AddRange(_testData.Attractions);

            var response = controller.Get();

            var responseObjectResult = response as ObjectResult;

            Assert.Equal(200, responseObjectResult.StatusCode);
        }
        public void PostTA()
        {
            var repo       = new MockUnitOfWork();
            var controller = new AttractionsController(repo, _mapper);

            repo.Cities.AddRange(_testData.Cities);

            var attractionId = 0;
            var cityId       = 1;
            var attraction   = _mapper.Map <TouristAttractionDTO>(_testData.Attractions.SingleOrDefault(t => t.Id == attractionId));

            var response = controller.Post(attraction, cityId);

            var responseObjectResult = response as ObjectResult;

            Assert.Equal(201, responseObjectResult.StatusCode);
            Assert.NotNull(repo.Cities.Get(attractionId));
        }
        public void PutTA()
        {
            var repo       = new MockUnitOfWork();
            var controller = new AttractionsController(repo, _mapper);

            repo.Cities.AddRange(_testData.Cities);
            repo.Cities.Get(0).Attractions.AddRange(_testData.Attractions);
            var attractionId = 1;
            var newName      = "Changed";

            var attractionDTO = _mapper.Map <TouristAttractionDTO>(_testData.Attractions.SingleOrDefault(t => t.Id == attractionId));

            attractionDTO.Name = newName;

            var response = controller.Put(attractionId, attractionDTO);

            Assert.IsType <NoContentResult>(response);
            Assert.Equal(attractionDTO.Name, repo.TouristAttractions.Get(1).Name);
        }