public async Task ApproveReport_When_ParamsValid() { //Arrange var options = Utils.GetOptions(nameof(ApproveReport_When_ParamsValid)); var report1 = TestModelsSeeder.SeedReport(); var industry1 = TestModelsSeeder.SeedIndustry(); var user = TestModelsSeeder.SeedUser(); var tag = TestModelsSeeder.SeedTag(); report1.IsPending = true; using (var arrangeContext = new InsightHubContext(options)) { await arrangeContext.Reports.AddAsync(report1); await arrangeContext.Tags.AddAsync(tag); await arrangeContext.Industries.AddAsync(industry1); await arrangeContext.Users.AddAsync(user); await arrangeContext.SaveChangesAsync(); } //Act & Assert using var assertContext = new InsightHubContext(options); var sutTag = new TagServices(assertContext); var sut = new ReportServices(assertContext, sutTag); await sut.ApproveReport(1); Assert.IsFalse(assertContext.Reports.First(u => u.Id == 1).IsPending); }
public async Task AddSubscription_WhenParamsAreValid() { //Arrange var options = Utils.GetOptions(nameof(AddSubscription_WhenParamsAreValid)); var industry = TestModelsSeeder.SeedIndustry(); var user = TestModelsSeeder.SeedUser(); using (var arrangeContext = new InsightHubContext(options)) { await arrangeContext.Industries.AddAsync(industry); await arrangeContext.Users.AddAsync(user); await arrangeContext.SaveChangesAsync(); } //Act & Assert using var assertContext = new InsightHubContext(options); var sut = new IndustryServices(assertContext); await sut.AddSubscription(user.Id, industry.Id); var result = await assertContext.IndustrySubscriptions.AnyAsync(ui => ui.UserId == user.Id && ui.IndustryId == industry.Id); Assert.IsTrue(result); }
public async Task DoNotThrowArgumentException_When_AlreadyExists() { //Arrange var options = Utils.GetOptions(nameof(DoNotThrowArgumentException_When_AlreadyExists)); var industry = TestModelsSeeder.SeedIndustry(); var user = TestModelsSeeder.SeedUser(); using (var arrangeContext = new InsightHubContext(options)) { await arrangeContext.Industries.AddAsync(industry); await arrangeContext.Users.AddAsync(user); await arrangeContext.SaveChangesAsync(); } //Act & Assert using var assertContext = new InsightHubContext(options); var sut = new IndustryServices(assertContext); await sut.AddSubscription(user.Id, industry.Id); await sut.AddSubscription(user.Id, industry.Id); var result = await assertContext.IndustrySubscriptions.AnyAsync(ui => ui.UserId == user.Id && ui.IndustryId == industry.Id); Assert.IsTrue(result); Assert.AreEqual(1, assertContext.IndustrySubscriptions.Count()); }
public async Task ThrowArgumentException_WhenReportNotExists() { //Arrange var options = Utils.GetOptions(nameof(ThrowArgumentException_WhenReportNotExists)); var report1 = TestModelsSeeder.SeedReport(); var industry1 = TestModelsSeeder.SeedIndustry(); var user = TestModelsSeeder.SeedUser(); var tag = TestModelsSeeder.SeedTag(); using (var arrangeContext = new InsightHubContext(options)) { await arrangeContext.Reports.AddAsync(report1); await arrangeContext.Tags.AddAsync(tag); await arrangeContext.Industries.AddAsync(industry1); await arrangeContext.Users.AddAsync(user); await arrangeContext.SaveChangesAsync(); } //Act & Assert using var assertContext = new InsightHubContext(options); var sutTag = new TagServices(assertContext); var sut = new ReportServices(assertContext, sutTag); await Assert.ThrowsExceptionAsync <ArgumentNullException>(() => sut.ApproveReport(5)); }
public async Task ReturnNotDeletedIndustries() { //Arrange var options = Utils.GetOptions(nameof(ReturnNotDeletedIndustries)); var industry = TestModelsSeeder.SeedIndustry(); var industry2 = TestModelsSeeder.SeedIndustry2(); var industry3 = TestModelsSeeder.SeedIndustry3(); industry.IsDeleted = true; using (var arrangeContext = new InsightHubContext(options)) { await arrangeContext.Industries.AddAsync(industry); await arrangeContext.Industries.AddAsync(industry2); await arrangeContext.Industries.AddAsync(industry3); await arrangeContext.SaveChangesAsync(); } //Act & Assert using var assertContext = new InsightHubContext(options); var sut = new IndustryServices(assertContext); var result = await sut.GetAllIndustries(null, null); Assert.AreEqual(2, result.Count); }
public async Task ReturnNotDeletedIndustries_WithSearch_When_ParamValid() { //Arrange var options = Utils.GetOptions(nameof(ReturnNotDeletedIndustries_WithSearch_When_ParamValid)); var industry = TestModelsSeeder.SeedIndustry(); var industry2 = TestModelsSeeder.SeedIndustry2(); var industry3 = TestModelsSeeder.SeedIndustry3(); industry.IsDeleted = true; using (var arrangeContext = new InsightHubContext(options)) { await arrangeContext.Industries.AddAsync(industry); await arrangeContext.Industries.AddAsync(industry2); await arrangeContext.Industries.AddAsync(industry3); await arrangeContext.SaveChangesAsync(); } //Act & Assert using var assertContext = new InsightHubContext(options); var sut = new IndustryServices(assertContext); var result = (await sut.GetAllIndustries(null, "3")).ToArray(); Assert.AreEqual(1, result.Length); Assert.AreEqual(industry3.Name, result[0].Name); }
public async Task ThrowArgumentException_When_TitleAlreadyExists() { //Arrange var options = Utils.GetOptions(nameof(ThrowArgumentException_When_TitleAlreadyExists)); var summary = "Report Summary"; var description = "Report Description"; var author = TestModelsSeeder.SeedUser(); var industry = TestModelsSeeder.SeedIndustry(); var imgURL = "imageurl"; var tag = TestModelsSeeder.SeedTag(); var report = TestModelsSeeder.SeedReport(); using (var arrangeContext = new InsightHubContext(options)) { await arrangeContext.Users.AddAsync(author); await arrangeContext.Industries.AddAsync(industry); await arrangeContext.Tags.AddAsync(tag); await arrangeContext.Reports.AddAsync(report); await arrangeContext.SaveChangesAsync(); } //Act & Assert using var assertContext = new InsightHubContext(options); var sutTags = new TagServices(assertContext); var sutReports = new ReportServices(assertContext, sutTags); await Assert.ThrowsExceptionAsync <ArgumentException>(() => sutReports.CreateReport(report.Title, summary, description, author.Email, imgURL, industry.Name, tag.Name)); }
public async Task CreateReport_WhenParamsAreValid() { //Arrange var options = Utils.GetOptions(nameof(CreateReport_WhenParamsAreValid)); var title = "Report Title"; var summary = "Report Summary"; var description = "Report Description"; var author = TestModelsSeeder.SeedUser(); var industry = TestModelsSeeder.SeedIndustry(); var imgURL = "imageurl"; var tag = TestModelsSeeder.SeedTag(); using (var arrangeContext = new InsightHubContext(options)) { await arrangeContext.Users.AddAsync(author); await arrangeContext.Industries.AddAsync(industry); await arrangeContext.Tags.AddAsync(tag); await arrangeContext.SaveChangesAsync(); } //Act & Assert using var assertContext = new InsightHubContext(options); var sutTags = new TagServices(assertContext); var sutReports = new ReportServices(assertContext, sutTags); var act = await sutReports.CreateReport(title, summary, description, author.Email, imgURL, industry.Name, tag.Name); var result = assertContext.Reports.FirstOrDefault(t => t.Title == title); Assert.AreEqual(title, result.Title); Assert.AreEqual(description, result.Description); Assert.AreEqual(tag.Name, result.ReportTags.First().Tag.Name); }
public async Task GetsCorrectReport_When_ParamsValid() { //Arrange var options = Utils.GetOptions(nameof(GetsCorrectReport_When_ParamsValid)); var report1 = TestModelsSeeder.SeedReport(); var industry1 = TestModelsSeeder.SeedIndustry(); var user = TestModelsSeeder.SeedUser(); var tag = TestModelsSeeder.SeedTag(); using (var arrangeContext = new InsightHubContext(options)) { await arrangeContext.Reports.AddAsync(report1); await arrangeContext.Tags.AddAsync(tag); await arrangeContext.Industries.AddAsync(industry1); await arrangeContext.Users.AddAsync(user); await arrangeContext.SaveChangesAsync(); } //Act & Assert using var assertContext = new InsightHubContext(options); var sutTags = new TagServices(assertContext); var sut = new ReportServices(assertContext, sutTags); var result = await sut.GetReport(1); Assert.AreEqual(report1.Title, result.Title); Assert.AreEqual(report1.Summary, result.Summary); Assert.AreEqual(report1.Description, result.Description); Assert.AreEqual(report1.Author.Email, result.Author.Split(" ").Last()); }
public async Task ToggleReport_ToFeatured_When_NotFeatured() { //Arrange var options = Utils.GetOptions(nameof(ToggleReport_ToFeatured_When_NotFeatured)); var report1 = TestModelsSeeder.SeedReport(); var industry1 = TestModelsSeeder.SeedIndustry(); var user = TestModelsSeeder.SeedUser(); var tag = TestModelsSeeder.SeedTag(); using (var arrangeContext = new InsightHubContext(options)) { await arrangeContext.Reports.AddAsync(report1); await arrangeContext.Tags.AddAsync(tag); await arrangeContext.Industries.AddAsync(industry1); await arrangeContext.Users.AddAsync(user); await arrangeContext.SaveChangesAsync(); } //Act & Assert using var assertContext = new InsightHubContext(options); var sutTag = new TagServices(assertContext); var sut = new ReportServices(assertContext, sutTag); Assert.IsFalse(assertContext.Reports.First(u => u.Id == 1).IsFeatured); await sut.ToggleFeatured(1); Assert.IsTrue(assertContext.Reports.First(u => u.Id == 1).IsFeatured); }
public async Task ReturnPendingReports_WithSearch_When_ParamValid() { //Arrange var options = Utils.GetOptions(nameof(ReturnPendingReports_WithSearch_When_ParamValid)); var report1 = TestModelsSeeder.SeedReport(); var industry1 = TestModelsSeeder.SeedIndustry(); var user = TestModelsSeeder.SeedUser(); var tag = TestModelsSeeder.SeedTag(); var tag2 = TestModelsSeeder.SeedTag2(); var tag3 = TestModelsSeeder.SeedTag3(); var report2 = TestModelsSeeder.SeedReport2(); var industry2 = TestModelsSeeder.SeedIndustry2(); var report3 = TestModelsSeeder.SeedReport3(); var industry3 = TestModelsSeeder.SeedIndustry3(); report1.IsPending = true; report2.IsPending = true; using (var arrangeContext = new InsightHubContext(options)) { await arrangeContext.Reports.AddAsync(report1); await arrangeContext.Tags.AddAsync(tag); await arrangeContext.Industries.AddAsync(industry1); await arrangeContext.Reports.AddAsync(report2); await arrangeContext.Tags.AddAsync(tag2); await arrangeContext.Industries.AddAsync(industry2); await arrangeContext.Reports.AddAsync(report3); await arrangeContext.Tags.AddAsync(tag3); await arrangeContext.Industries.AddAsync(industry3); await arrangeContext.Users.AddAsync(user); await arrangeContext.SaveChangesAsync(); } //Act & Assert using var assertContext = new InsightHubContext(options); var sutTags = new TagServices(assertContext); var sut = new ReportServices(assertContext, sutTags); var act = await sut.GetPendingReports(null, "TestReport"); var result = act.ToArray(); Assert.AreEqual(2, result.Length); Assert.AreEqual(report1.Title, result[0].Title); Assert.AreEqual(report1.Summary, result[0].Summary); Assert.IsTrue(result[0].Title.Contains("TestReport")); Assert.AreEqual(report2.Title, result[1].Title); Assert.AreEqual(report2.Summary, result[1].Summary); Assert.IsTrue(result[1].Title.Contains("TestReport")); }
public async Task GetMostDownloadedReports_When_ParamsValid() { //Arrange var options = Utils.GetOptions(nameof(GetMostDownloadedReports_When_ParamsValid)); var report1 = TestModelsSeeder.SeedReport(); var industry1 = TestModelsSeeder.SeedIndustry(); var user = TestModelsSeeder.SeedUser(); var tag = TestModelsSeeder.SeedTag(); var tag2 = TestModelsSeeder.SeedTag2(); var tag3 = TestModelsSeeder.SeedTag3(); var report2 = TestModelsSeeder.SeedReport2(); var industry2 = TestModelsSeeder.SeedIndustry2(); var report3 = TestModelsSeeder.SeedReport3(); var industry3 = TestModelsSeeder.SeedIndustry3(); using (var arrangeContext = new InsightHubContext(options)) { await arrangeContext.Reports.AddAsync(report1); await arrangeContext.Tags.AddAsync(tag); await arrangeContext.Industries.AddAsync(industry1); await arrangeContext.Reports.AddAsync(report2); await arrangeContext.Tags.AddAsync(tag2); await arrangeContext.Industries.AddAsync(industry2); await arrangeContext.Reports.AddAsync(report3); await arrangeContext.Tags.AddAsync(tag3); await arrangeContext.Industries.AddAsync(industry3); await arrangeContext.Users.AddAsync(user); await arrangeContext.SaveChangesAsync(); } //Act & Assert using var assertContext = new InsightHubContext(options); var sutTags = new TagServices(assertContext); var sut = new ReportServices(assertContext, sutTags); var act = await sut.GetMostDownloadedReports(); var result = act.ToArray(); Assert.AreEqual(3, result.Length); Assert.AreEqual(report2.Title, result[0].Title); Assert.AreEqual(report2.Summary, result[0].Summary); Assert.IsTrue(result[0].DownloadsCount > result[1].DownloadsCount); Assert.AreEqual(report1.Title, result[1].Title); Assert.AreEqual(report1.Summary, result[1].Summary); Assert.IsTrue(result[1].DownloadsCount > result[2].DownloadsCount); Assert.AreEqual(report3.Title, result[2].Title); Assert.AreEqual(report3.Summary, result[2].Summary); }
public async Task ReturnNotDeletedReport_WithSortAndSearchAndIndustry_When_ParamValid() { //Arrange var options = Utils.GetOptions(nameof(ReturnNotDeletedReport_WithSortAndSearchAndIndustry_When_ParamValid)); var report1 = TestModelsSeeder.SeedReport(); var industry1 = TestModelsSeeder.SeedIndustry(); var user = TestModelsSeeder.SeedUser(); var tag = TestModelsSeeder.SeedTag(); var tag2 = TestModelsSeeder.SeedTag2(); var tag3 = TestModelsSeeder.SeedTag3(); var report2 = TestModelsSeeder.SeedReport2(); var industry2 = TestModelsSeeder.SeedIndustry2(); var report3 = TestModelsSeeder.SeedReport3(); var industry3 = TestModelsSeeder.SeedIndustry3(); using (var arrangeContext = new InsightHubContext(options)) { await arrangeContext.Reports.AddAsync(report1); await arrangeContext.Tags.AddAsync(tag); await arrangeContext.Industries.AddAsync(industry1); await arrangeContext.Reports.AddAsync(report2); await arrangeContext.Tags.AddAsync(tag2); await arrangeContext.Industries.AddAsync(industry2); await arrangeContext.Reports.AddAsync(report3); await arrangeContext.Tags.AddAsync(tag3); await arrangeContext.Industries.AddAsync(industry3); await arrangeContext.Users.AddAsync(user); await arrangeContext.SaveChangesAsync(); } //Act & Assert using var assertContext = new InsightHubContext(options); var sutTags = new TagServices(assertContext); var sut = new ReportServices(assertContext, sutTags); var act = await sut.GetReports("title_desc", "TestReport", null, "Industry", null); var result = act.ToList(); Assert.AreEqual(3, result.Count()); Assert.AreEqual(report3.Title, result[0].Title); Assert.IsTrue(result[0].Industry.Contains("Industry")); Assert.AreEqual(report2.Title, result[1].Title); Assert.IsTrue(result[1].Industry.Contains("Industry")); Assert.AreEqual(report1.Title, result[2].Title); Assert.IsTrue(result[2].Industry.Contains("Industry")); }
public async Task GetsCorrectReports_When_ParamsValid() { //Arrange var options = Utils.GetOptions(nameof(GetsCorrectReports_When_ParamsValid)); var report1 = TestModelsSeeder.SeedReport(); var industry1 = TestModelsSeeder.SeedIndustry(); var user = TestModelsSeeder.SeedUser(); var tag = TestModelsSeeder.SeedTag(); var tag2 = TestModelsSeeder.SeedTag2(); var tag3 = TestModelsSeeder.SeedTag3(); var report2 = TestModelsSeeder.SeedReport2(); var industry2 = TestModelsSeeder.SeedIndustry2(); var report3 = TestModelsSeeder.SeedReport3(); var industry3 = TestModelsSeeder.SeedIndustry3(); report1.IsDeleted = true; using (var arrangeContext = new InsightHubContext(options)) { await arrangeContext.Reports.AddAsync(report1); await arrangeContext.Tags.AddAsync(tag); await arrangeContext.Industries.AddAsync(industry1); await arrangeContext.Reports.AddAsync(report2); await arrangeContext.Tags.AddAsync(tag2); await arrangeContext.Industries.AddAsync(industry2); await arrangeContext.Reports.AddAsync(report3); await arrangeContext.Tags.AddAsync(tag3); await arrangeContext.Industries.AddAsync(industry3); await arrangeContext.Users.AddAsync(user); await arrangeContext.SaveChangesAsync(); } //Act & Assert using var assertContext = new InsightHubContext(options); var sutTags = new TagServices(assertContext); var sut = new ReportServices(assertContext, sutTags); var result = await sut.GetReports(null, null, null, null, null); Assert.AreEqual(2, result.Count); }
public async Task UpdateReport_WhenParamsAreValid() { //Arrange var options = Utils.GetOptions(nameof(UpdateReport_WhenParamsAreValid)); var newTitle = "New Report Title"; var newSummary = "New Report Summary"; var newDescription = "New Report Description"; var newIndustry = TestModelsSeeder.SeedIndustry2(); var newImgURL = "imageurl"; var newTag = TestModelsSeeder.SeedTag2(); var report1 = TestModelsSeeder.SeedReport(); var industry1 = TestModelsSeeder.SeedIndustry(); var user = TestModelsSeeder.SeedUser(); var tag = TestModelsSeeder.SeedTag(); using (var arrangeContext = new InsightHubContext(options)) { await arrangeContext.Users.AddAsync(user); await arrangeContext.Industries.AddAsync(industry1); await arrangeContext.Industries.AddAsync(newIndustry); await arrangeContext.Tags.AddAsync(tag); await arrangeContext.Tags.AddAsync(newTag); await arrangeContext.Reports.AddAsync(report1); await arrangeContext.SaveChangesAsync(); } //Act & Assert using var assertContext = new InsightHubContext(options); var sutTags = new TagServices(assertContext); var sutReports = new ReportServices(assertContext, sutTags); var act = await sutReports.UpdateReport(1, newTitle, newSummary, newDescription, newImgURL, newIndustry.Name, newTag.Name); var result = assertContext.Reports.FirstOrDefault(t => t.Title == newTitle); Assert.AreEqual(newTitle, result.Title); Assert.AreEqual(newSummary, result.Summary); Assert.AreEqual(newDescription, result.Description); Assert.AreEqual(newIndustry.Name, result.Industry.Name); Assert.AreEqual(newImgURL, result.ImgUrl); Assert.AreEqual(newTag.Name, result.ReportTags.First().Tag.Name); }
public async Task ThrowArgumentException_WhenTitleAlreadyExists() { //Arrange var options = Utils.GetOptions(nameof(ThrowArgumentException_WhenTitleAlreadyExists)); var newSummary = "New Report Summary"; var newDescription = "New Report Description"; var newIndustry = TestModelsSeeder.SeedIndustry2(); var newImgURL = "imageurl"; var newTag = TestModelsSeeder.SeedTag2(); var report1 = TestModelsSeeder.SeedReport(); var industry1 = TestModelsSeeder.SeedIndustry(); var user = TestModelsSeeder.SeedUser(); var tag = TestModelsSeeder.SeedTag(); var report2 = TestModelsSeeder.SeedReport2(); var industry2 = TestModelsSeeder.SeedIndustry3(); var tag2 = TestModelsSeeder.SeedTag3(); using (var arrangeContext = new InsightHubContext(options)) { await arrangeContext.Users.AddAsync(user); await arrangeContext.Industries.AddAsync(industry1); await arrangeContext.Industries.AddAsync(industry2); await arrangeContext.Industries.AddAsync(newIndustry); await arrangeContext.Tags.AddAsync(tag); await arrangeContext.Tags.AddAsync(newTag); await arrangeContext.Tags.AddAsync(tag2); await arrangeContext.Reports.AddAsync(report1); await arrangeContext.Reports.AddAsync(report2); await arrangeContext.SaveChangesAsync(); } //Act & Assert using var assertContext = new InsightHubContext(options); var sutTags = new TagServices(assertContext); var sutReports = new ReportServices(assertContext, sutTags); await Assert.ThrowsExceptionAsync <ArgumentException>(() => sutReports.UpdateReport(1, report2.Title, newSummary, newDescription, newImgURL, newIndustry.Name, newTag.Name)); }
public async Task Throw_WhenIdIsInvalid() { //Arrange var options = Utils.GetOptions(nameof(Throw_WhenIdIsInvalid)); var industry = TestModelsSeeder.SeedIndustry(); using (var arrangeContext = new InsightHubContext(options)) { await arrangeContext.AddAsync(industry); await arrangeContext.SaveChangesAsync(); } //Act & Assert using var assertContext = new InsightHubContext(options); var sut = new IndustryServices(assertContext); await Assert.ThrowsExceptionAsync <ArgumentNullException>(() => sut.UpdateIndustry(5, "NewName", "NewTestURL")); }
public async Task Throw_When_IndustryAlreadyExists() { //Arrange var options = Utils.GetOptions(nameof(Throw_When_IndustryAlreadyExists)); var industry = TestModelsSeeder.SeedIndustry(); var industryName = industry.Name; using (var arrangeContext = new InsightHubContext(options)) { await arrangeContext.Industries.AddAsync(industry); await arrangeContext.SaveChangesAsync(); } //Act & Assert using var assertContext = new InsightHubContext(options); var sut = new IndustryServices(assertContext); await Assert.ThrowsExceptionAsync <ArgumentException>(() => sut.CreateIndustry(industryName, "testURL")); }
public async Task Throw_WhenIndustryWithNameAlreadyExists() { var options = Utils.GetOptions(nameof(Throw_WhenIndustryWithNameAlreadyExists)); var industry = TestModelsSeeder.SeedIndustry(); var industry2 = TestModelsSeeder.SeedIndustry2(); using (var arrangeContext = new InsightHubContext(options)) { await arrangeContext.AddAsync(industry); await arrangeContext.AddAsync(industry2); await arrangeContext.SaveChangesAsync(); } using var assertContext = new InsightHubContext(options); var sut = new IndustryServices(assertContext); await Assert.ThrowsExceptionAsync <ArgumentException>(() => sut.UpdateIndustry(1, industry2.Name, "testURL")); }
public async Task ReturnFalse_WhenIndustryAlreadyDeleted() { //Arrange var options = Utils.GetOptions(nameof(ReturnFalse_WhenIndustryAlreadyDeleted)); var industry = TestModelsSeeder.SeedIndustry(); industry.IsDeleted = true; using (var arrangeContext = new InsightHubContext(options)) { await arrangeContext.Industries.AddAsync(industry); await arrangeContext.SaveChangesAsync(); } //Act & Assert using var assertContext = new InsightHubContext(options); var sut = new IndustryServices(assertContext); await Assert.ThrowsExceptionAsync <ArgumentException>(async() => await sut.DeleteIndustry(industry.Id)); }
public async Task ReturnCorrectIndustry_WhenParamsAreValid() { //Arrange var options = Utils.GetOptions(nameof(ReturnCorrectIndustry_WhenParamsAreValid)); var industry = TestModelsSeeder.SeedIndustry(); using (var arrangeContext = new InsightHubContext(options)) { await arrangeContext.AddAsync(industry); await arrangeContext.SaveChangesAsync(); } //Act & Assert using var assertContext = new InsightHubContext(options); var sut = new IndustryServices(assertContext); var result = await sut.GetIndustry(1); Assert.AreEqual(industry.Id, result.Id); Assert.AreEqual(industry.Name, result.Name); }
public async Task SetDeletedFlag_WhenParamsAreValid() { //Arrange var options = Utils.GetOptions(nameof(SetDeletedFlag_WhenParamsAreValid)); var industry = TestModelsSeeder.SeedIndustry(); using (var arrangeContext = new InsightHubContext(options)) { await arrangeContext.Industries.AddAsync(industry); await arrangeContext.SaveChangesAsync(); } //Act & Assert using var assertContext = new InsightHubContext(options); var sut = new IndustryServices(assertContext); await sut.DeleteIndustry(1); var result = await assertContext.Industries.FirstOrDefaultAsync(i => i.Name == industry.Name); Assert.IsTrue(result.IsDeleted); }
public async Task ReturnAllUploadedReports() { //Arrange var options = Utils.GetOptions(nameof(ReturnAllUploadedReports)); var user1 = TestModelsSeeder.SeedUser(); var report1 = TestModelsSeeder.SeedReport(); var report2 = TestModelsSeeder.SeedReport2(); report1.AuthorId = user1.Id; report2.AuthorId = user1.Id; var tag1 = TestModelsSeeder.SeedTag(); var tag2 = TestModelsSeeder.SeedTag2(); var industry1 = TestModelsSeeder.SeedIndustry(); var industry2 = TestModelsSeeder.SeedIndustry2(); user1.IsPending = false; report1.IsPending = false; report2.IsPending = false; //Act & Assert using (var arrangeContext = new InsightHubContext(options)) { arrangeContext.Users.Add(user1); arrangeContext.Reports.Add(report1); arrangeContext.Reports.Add(report2); arrangeContext.Tags.Add(tag1); arrangeContext.Tags.Add(tag2); arrangeContext.Industries.Add(industry1); arrangeContext.Industries.Add(industry2); await arrangeContext.SaveChangesAsync(); } using var assertContext = new InsightHubContext(options); var sut = new UserServices(assertContext); var result = await sut.GetUploadedReports(user1.Id, null); Assert.AreEqual(2, result.Count); }
public async Task ReturnAllUserSubscriptions() { //Arrange var options = Utils.GetOptions(nameof(ReturnAllUserSubscriptions)); var user1 = TestModelsSeeder.SeedUser(); var industry1 = TestModelsSeeder.SeedIndustry(); var industry2 = TestModelsSeeder.SeedIndustry2(); user1.IsPending = false; using (var arrangeContext = new InsightHubContext(options)) { arrangeContext.Users.Add(user1); arrangeContext.Industries.Add(industry1); arrangeContext.Industries.Add(industry2); arrangeContext.IndustrySubscriptions.Add(new IndustrySubscription { UserId = 1, IndustryId = 1 }); arrangeContext.IndustrySubscriptions.Add(new IndustrySubscription { UserId = 1, IndustryId = 2 }); await arrangeContext.SaveChangesAsync(); } //Act & Assert using var assertContext = new InsightHubContext(options); var sut = new UserServices(assertContext); var result = await sut.GetSubscriptions(user1.Id); Assert.AreEqual(2, result.Count); }