public void GetAdminNewsReturnsCorrectCollection() { var mockNews = new Mock <LearningPlusNews>(); mockNews.Setup(n => n.ExpiresOn).Returns(DateTime.UtcNow.AddDays(2)); var mockSndNews = new Mock <LearningPlusNews>(); mockSndNews.Setup(n => n.ExpiresOn).Returns(DateTime.UtcNow.AddSeconds(5)); var mockOldNews = new Mock <LearningPlusNews>(); mockOldNews.Setup(n => n.ExpiresOn).Returns(DateTime.UtcNow.AddDays(-1)); var options = new DbContextOptionsBuilder <LearningPlusDbContext>() .UseInMemoryDatabase(databaseName: "GetAdminNews_News_Database") // Give a Unique name to the DB .Options; var dbContext = new LearningPlusDbContext(options); dbContext.News.Add(mockNews.Object); dbContext.News.Add(mockSndNews.Object); dbContext.News.Add(mockOldNews.Object); dbContext.SaveChanges(); var newsRepo = new DbRepository <LearningPlusNews>(dbContext); var lpNewsService = new LearningPlusNewsService(null, newsRepo); var news = lpNewsService.GetAdminNews(); news.Count.ShouldBe(2); }
public void GetByIdReturnsCorrectNews() { var mockNews = new Mock <LearningPlusNews>(); var options = new DbContextOptionsBuilder <LearningPlusDbContext>() .UseInMemoryDatabase(databaseName: "GetById_News_Database") // Give a Unique name to the DB .Options; var dbContext = new LearningPlusDbContext(options); dbContext.News.Add(mockNews.Object); dbContext.SaveChanges(); var newsRepo = new DbRepository <LearningPlusNews>(dbContext); var newsId = newsRepo.All().FirstOrDefaultAsync().GetAwaiter().GetResult().Id.ToString(); var lpNewsService = new LearningPlusNewsService(null, newsRepo); var newsById = lpNewsService.GetById(newsId); newsById.CountAsync().GetAwaiter().GetResult().ShouldBe(1); }
public void FakeDeleteReturnsCorrectItem() { var mockNews = new Mock <LearningPlusNews>(); mockNews.Setup(n => n.ExpiresOn).Returns(DateTime.UtcNow); var options = new DbContextOptionsBuilder <LearningPlusDbContext>() .UseInMemoryDatabase(databaseName: "FakeDelete_News_Database") // Give a Unique name to the DB .Options; var dbContext = new LearningPlusDbContext(options); dbContext.News.Add(mockNews.Object); dbContext.SaveChanges(); var newsRepo = new DbRepository <LearningPlusNews>(dbContext); var lpNewsService = new LearningPlusNewsService(null, newsRepo); var id = newsRepo.All().FirstOrDefaultAsync().GetAwaiter().GetResult().Id.ToString(); var news = lpNewsService.FakeDelete(id); DateTime.UtcNow.AddDays(-1).ShouldBeLessThanOrEqualTo(news.ExpiresOn); }
public void GetArchivedNewsReturnsCorrectCollection() { var mockNews = new Mock <LearningPlusNews>(); mockNews.Setup(n => n.ExpiresOn).Returns(DateTime.UtcNow.AddDays(2)); var mockAdminNews = new Mock <LearningPlusNews>(); mockAdminNews.Setup(n => n.ExpiresOn).Returns(DateTime.UtcNow.AddSeconds(5)); mockAdminNews.Setup(n => n.TargetRoles).Returns(new List <LearningPlusNewsTargetRole> { new LearningPlusNewsTargetRole { TargetRole = Models.Enums.UserRoles.Admin } }); var mockTeacherNews = new Mock <LearningPlusNews>(); mockTeacherNews.Setup(n => n.ExpiresOn).Returns(DateTime.UtcNow.AddDays(2)); mockTeacherNews.Setup(n => n.TargetRoles).Returns(new List <LearningPlusNewsTargetRole> { new LearningPlusNewsTargetRole { TargetRole = Models.Enums.UserRoles.Teacher } }); var mockParentNews = new Mock <LearningPlusNews>(); mockParentNews.Setup(n => n.ExpiresOn).Returns(DateTime.UtcNow.AddDays(2)); mockParentNews.Setup(n => n.TargetRoles).Returns(new List <LearningPlusNewsTargetRole> { new LearningPlusNewsTargetRole { TargetRole = Models.Enums.UserRoles.Parent } }); var mockChildNews = new Mock <LearningPlusNews>(); mockChildNews.Setup(n => n.ExpiresOn).Returns(DateTime.UtcNow.AddDays(2)); mockChildNews.Setup(n => n.TargetRoles).Returns(new List <LearningPlusNewsTargetRole> { new LearningPlusNewsTargetRole { TargetRole = Models.Enums.UserRoles.Child } }); var mockChildSndNews = new Mock <LearningPlusNews>(); mockChildSndNews.Setup(n => n.ExpiresOn).Returns(DateTime.UtcNow.AddDays(-1)); mockChildSndNews.Setup(n => n.TargetRoles).Returns(new List <LearningPlusNewsTargetRole> { new LearningPlusNewsTargetRole { TargetRole = Models.Enums.UserRoles.Child } }); var mockOldNews = new Mock <LearningPlusNews>(); mockOldNews.Setup(n => n.ExpiresOn).Returns(DateTime.UtcNow.AddDays(-1)); var options = new DbContextOptionsBuilder <LearningPlusDbContext>() .UseInMemoryDatabase(databaseName: "GetArchivedNews_News_Database") // Give a Unique name to the DB .Options; var dbContext = new LearningPlusDbContext(options); dbContext.News.Add(mockAdminNews.Object); dbContext.News.Add(mockTeacherNews.Object); dbContext.News.Add(mockNews.Object); dbContext.News.Add(mockOldNews.Object); dbContext.News.Add(mockParentNews.Object); dbContext.News.Add(mockChildNews.Object); dbContext.News.Add(mockChildSndNews.Object); dbContext.News.Add(mockOldNews.Object); dbContext.SaveChanges(); var newsRepo = new DbRepository <LearningPlusNews>(dbContext); var lpNewsService = new LearningPlusNewsService(null, newsRepo); var news = lpNewsService.GetArchivedNews(); news.Count.ShouldBe(2); }