public async Task ThrowArgumentException_When_ReportIsNotFound()
        {
            var options = Utils.GetOptions(nameof(ThrowArgumentException_When_ReportIsNotFound));
            var report  = TestModelsSeeder.SeedReport();

            using (var arrangeContext = new InsightHubContext(options))
            {
                await arrangeContext.Reports.AddAsync(report);

                arrangeContext.SaveChanges();
            }

            using var assertContext = new InsightHubContext(options);
            var sutTag = new TagServices(assertContext);
            var sut    = new ReportServices(assertContext, sutTag);
            await Assert.ThrowsExceptionAsync <ArgumentException>(() => sut.RestoreReport(1));
        }
        public async Task RestoreReport_When_ParamsValid()
        {
            //Arrange
            var options = Utils.GetOptions(nameof(RestoreReport_When_ParamsValid));
            var report  = TestModelsSeeder.SeedReport();

            using (var arrangeContext = new InsightHubContext(options))
            {
                await arrangeContext.Reports.AddAsync(report);

                arrangeContext.SaveChanges();
            }
            //Act & Assert
            using var assertContext = new InsightHubContext(options);
            var sutTag = new TagServices(assertContext);
            var sut    = new ReportServices(assertContext, sutTag);

            assertContext.Reports.First(r => r.Id == 1).IsDeleted = true;
            await sut.RestoreReport(1);

            Assert.IsFalse(assertContext.Reports.First(u => u.Id == 1).IsDeleted);
        }