public async Task <SportLocationView> AddSport(SportLocationView view)
        {
            var sport = new Sport {
                Name = view.SportName
            };

            view.SportId = await _repository.AddSport(sport);

            var location = new Location {
                Name = view.LocationName, SportId = view.SportId
            };

            view.LocationId = await _repository.AddLocation(location);

            return(view);
        }
        public void AddSportLocation_When_executed_Then_Create_Sport_and_Location(int sportId, int locationId)
        {
            _repository.Setup(mock => mock.AddSport(It.IsAny <Sport>())).ReturnsAsync(sportId);
            _repository.Setup(mock => mock.AddLocation(It.IsAny <Location>())).ReturnsAsync(locationId);

            var view = new SportLocationView
            {
                LocationName = "Woodbridge",
                SportName    = "Basketball",
                Year         = 2018
            };

            var actual = _worker.AddSport(view);

            Assert.True(actual.Result.SportId == sportId);
            Assert.True(actual.Result.LocationId == locationId);
            _repository.Verify(mock => mock.AddSport(It.Is <Sport>(s => s.Name == view.SportName)), Times.Once);
            _repository.Verify(mock => mock.AddLocation(It.Is <Location>(l => l.Name == view.LocationName)), Times.Once);
        }