public async Task TestDataPersisInDb()
        {
            var getShowRequest     = new GetShowRequest();
            var showAndCastDetails = await _sut.GetShowAsync(getShowRequest);

            var dbShowCount = _mazeDbContext.Shows.Count();

            // Check if values inserted in db

            Assert.That(showAndCastDetails.Count, Is.EqualTo(dbShowCount));

            var serviceCastCount = 0;

            foreach (var show in showAndCastDetails)
            {
                serviceCastCount += show.Casts.Count;
            }

            Assert.That(serviceCastCount, Is.EqualTo(_mazeDbContext.Casts.Count()));

            // Check if values are not inserted in db again

            showAndCastDetails = await _sut.GetShowAsync(getShowRequest);

            Assert.That(showAndCastDetails.Count, Is.EqualTo(dbShowCount));
            Assert.That(serviceCastCount, Is.EqualTo(_mazeDbContext.Casts.Count()));
        }
        public async Task TestDataPersisInDb()
        {
            _decoratedShows.Add(new Domain.ShowDomain.Show(1, "Tv show", new List <Domain.ShowDomain.Cast>()));

            await _sut.GetShowAsync(_getShowRequest);

            _showRepository.Received(1).AddShows(Arg.Any <IList <Infrastructure.Database.Show> >());
        }