public async Task CreateAsync_ShouldReturnNullIfReviewInputNullAsync() { //Arrange var options = InMemory.GetOptions("CreateAsync_ShouldReturnNullIfReviewInputNullAsync"); using (var context = new BOContext(options)) { } using (var context = new BOContext(options)) { //Act var sut = new ReviewsService(context); var result = await sut.CreateAsync(null); //Assert Assert.AreEqual(result, null); } }
public async Task CreateAsync_ShouldReturnModifiedReviewDTOAsync() { //Arrange var options = InMemory.GetOptions("CreateAsync_ShouldReturnModifiedReviewDTOAsync"); using (var context = new BOContext(options)) { var country = new Country() { Name = "Bulgaria", Breweries = new List <Brewery>() { new Brewery() { Name = "Brewery", Beers = new List <Beer>() { new Beer() { ABV = 4.5f, Rating = 2, Name = "Carlsberg", Country = new Country() { Name = "Germany" }, Style = new BeerStyle() { Name = "Ale" } } } } } }; context.Countries.Add(country); await context.SaveChangesAsync(); var user = new User() { IDOld = 1, Name = "SuperMan" }; context.Users.Add(user); await context.SaveChangesAsync(); } using (var context = new BOContext(options)) { var reviewDTO = new ReviewDTO { Description = "Great", Beer = new BeerDTO() { Name = "Carlsberg" }, User = new UserDTO() { Name = "SuperMan" } }; //Act var sut = new ReviewsService(context); var result = await sut.CreateAsync(reviewDTO); var dbresult = await context.Reviews.FindAsync(1); //Assert Assert.AreEqual(result.ID, dbresult.ID); Assert.AreEqual(result.Description, dbresult.Description); } }
public async Task CreateAsync_ShouldUndeleteRecordReviewCommentsIfExist() { //Arrange var options = InMemory.GetOptions("CreateAsync_ShouldUndeleteRecordReviewCommentsIfExist"); using (var context = new BOContext(options)) { var review = new Review { Description = "Great", Beer = new Beer() { Name = "Carlsberg" }, User = new User() { IDOld = 1, Name = "SuperMan" }, IsDeleted = true, DeletedOn = DateTime.UtcNow, Comments = new List <Comment>() { new Comment() { Description = "Some description", User = new User() { IDOld = 2, Name = "Batman" }, IsDeleted = true, DeletedOn = DateTime.UtcNow } } }; context.Reviews.Add(review); await context.SaveChangesAsync(); } using (var context = new BOContext(options)) { var reviewDTO = new ReviewDTO { Description = "Great", Beer = new BeerDTO() { Name = "Carlsberg" }, User = new UserDTO() { Name = "SuperMan" } }; //Act var sut = new ReviewsService(context); await sut.CreateAsync(reviewDTO); var dbresult = await context.Reviews.FindAsync(1); var dbCommentResult = await context.Comments.FindAsync(1); //Assert Assert.AreEqual(dbresult.Description, "Great"); Assert.AreEqual(dbresult.DeletedOn, null); Assert.AreEqual(dbresult.IsDeleted, false); Assert.AreEqual(dbCommentResult.Description, "Some description"); Assert.AreEqual(dbCommentResult.DeletedOn, null); Assert.AreEqual(dbCommentResult.IsDeleted, false); } }
public async Task CreateAsync_ShouldUndeleteReviewRecordIfExist() { //Arrange var options = InMemory.GetOptions("CreateAsync_ShouldUndeleteReviewRecordIfExist"); using (var context = new BOContext(options)) { var country = new Country() { Name = "Bulgaria", Breweries = new List <Brewery>() { new Brewery() { Name = "Brewery", Beers = new List <Beer>() { new Beer() { ABV = 4.5f, Rating = 2, Name = "Carlsberg", Country = new Country() { Name = "Germany" }, Style = new BeerStyle() { Name = "Ale" } } } } } }; context.Countries.Add(country); await context.SaveChangesAsync(); var user = new User() { IDOld = 1, Name = "SuperMan" }; context.Users.Add(user); await context.SaveChangesAsync(); var review = new Review { Description = "Great", Beer = await context.Beers.FirstOrDefaultAsync(b => b.Name == "Carlsberg"), User = await context.Users.FirstOrDefaultAsync(b => b.Name == "SuperMan"), IsDeleted = true, DeletedOn = DateTime.UtcNow }; context.Reviews.Add(review); await context.SaveChangesAsync(); } using (var context = new BOContext(options)) { var reviewDTO = new ReviewDTO { Description = "Great", Beer = new BeerDTO() { Name = "Carlsberg" }, User = new UserDTO() { Name = "SuperMan" } }; //Act var sut = new ReviewsService(context); await sut.CreateAsync(reviewDTO); var dbresult = await context.Reviews.FindAsync(1); //Assert Assert.AreEqual(dbresult.Description, "Great"); Assert.AreEqual(dbresult.DeletedOn, null); Assert.AreEqual(dbresult.IsDeleted, false); } }