public async Task DoNot_AddToDownloadsCount_When_AlreadyDownloaded() { //Arrange var options = Utils.GetOptions(nameof(DoNot_AddToDownloadsCount_When_AlreadyDownloaded)); var user = TestModelsSeeder.SeedUser(); var report = TestModelsSeeder.SeedReport(); using (var arrangeContext = new InsightHubContext(options)) { await arrangeContext.Users.AddAsync(user); await arrangeContext.Reports.AddAsync(report); arrangeContext.SaveChanges(); } //Act & Assert using var assertContext = new InsightHubContext(options); var sutTags = new TagServices(assertContext); var sut = new ReportServices(assertContext, sutTags); await sut.AddToDownloadsCount(user.Id, report.Id); await sut.AddToDownloadsCount(user.Id, report.Id); var count = assertContext.DownloadedReports.Count(); Assert.AreEqual(1, count); }