public async Task <CocktailRatingDto> CreateAsync(CocktailRatingDto tempCocktailRating) { if (tempCocktailRating == null) { throw new BusinessLogicException(ExceptionMessages.CocktailRatingNull); } var cocktailRating = new CocktailRating { Value = tempCocktailRating.Value, UserId = tempCocktailRating.UserId, CocktailId = tempCocktailRating.CocktailId, CreatedOn = tempCocktailRating.CreatedOn, ModifiedOn = tempCocktailRating.ModifiedOn, DeletedOn = tempCocktailRating.DeletedOn, IsDeleted = tempCocktailRating.IsDeleted }; await this.context.CocktailRatings.AddAsync(cocktailRating); await this.context.SaveChangesAsync(); var cocktailRatingDto = this.dtoMapper.MapFrom(cocktailRating); return(cocktailRatingDto); }
public async Task Return_Correct_Model_When_ParamsAreValidCocktailRating() { //Arrange var options = TestUtilities.GetOptions(nameof(Return_Correct_Model_When_ParamsAreValidCocktailRating)); var mockDateTimeProvider = new Mock <IDateTimeProvider>(); var mapper = new Mock <IDtoMapper <CocktailRating, CocktailRatingDto> >(); var user = new User { Id = 1 }; var cocktail = new Cocktail { Id = 1 }; var rating = new CocktailRating { Id = 1, UserId = 1, CocktailId = 1, Value = 5, }; var ratingDto = new CocktailRatingDto { Id = 1, UserId = 1, CocktailId = 1, Value = 5, }; mapper.Setup(x => x.MapDto(It.IsAny <CocktailRating>())).Returns(ratingDto); using (var arrangeContext = new CocktailMagicianContext(options)) { await arrangeContext.Cocktails.AddAsync(cocktail); await arrangeContext.Users.AddAsync(user); await arrangeContext.CocktailRatings.AddAsync(rating); await arrangeContext.SaveChangesAsync(); } //Act and Assert using (var assertContext = new CocktailMagicianContext(options)) { var sut = new CocktailRatingService(assertContext, mockDateTimeProvider.Object, mapper.Object); var result = await sut.GetRatingAsync(1, 1); Assert.IsInstanceOfType(result, typeof(CocktailRatingDto)); Assert.AreEqual(1, result.Id); Assert.AreEqual(1, result.UserId); Assert.AreEqual(1, result.CocktailId); Assert.AreEqual(5, result.Value); } }
public async Task CorrectlyCreateCocktailRating() { //Arrange var options = TestUtilities.GetOptions(nameof(CorrectlyCreateCocktailRating)); var mapperMock = new Mock <IDtoMapper <CocktailRating, CocktailRatingDto> >(); var cocktailId = Guid.NewGuid(); var cocktailIdTwo = Guid.NewGuid(); var userId = Guid.NewGuid(); var userIdTwo = Guid.NewGuid(); var createdOn = DateTime.UtcNow; var entityDto = new CocktailRatingDto { CocktailId = cocktailId, UserId = userId, UserName = "******", Value = 2, CreatedOn = createdOn }; var entity = new CocktailRating { CocktailId = cocktailId, UserId = userIdTwo, Value = 2, CreatedOn = createdOn }; mapperMock.Setup(x => x.MapFrom(It.IsAny <CocktailRating>())).Returns(entityDto); using (var assertContext = new CWContext(options)) { //Assert var sut = new CocktailRatingService(assertContext, mapperMock.Object); var result = await sut.CreateAsync(entityDto); Assert.IsInstanceOfType(result, typeof(CocktailRatingDto)); Assert.AreEqual(cocktailId, result.CocktailId); Assert.AreEqual(userId, result.UserId); Assert.AreEqual(userId, result.UserId); Assert.AreEqual(2, result.Value); Assert.AreEqual("testusername", result.UserName); Assert.AreEqual(entityDto.CocktailId, result.CocktailId); Assert.AreEqual(entityDto.UserId, result.UserId); Assert.AreEqual(entityDto.UserId, result.UserId); Assert.AreEqual(entityDto.Value, result.Value); Assert.AreEqual(entityDto.UserName, result.UserName); } }
public void MapFrom_Should_ReturnCorrectInstanceOf_CocktailRatingViewModel() { //Arrange var sut = new CocktailRatingViewModelMapper(); var cocktailRating = new CocktailRatingDto { UserId = Guid.NewGuid(), UserName = "******", CocktailId = Guid.NewGuid(), CreatedOn = DateTime.Now, Value = 4, }; //Act var result = sut.MapFrom(cocktailRating); //Assert Assert.IsInstanceOfType(result, typeof(CocktailRatingViewModel)); }
public void MapFrom_Should_CorrectlyMapFrom_CocktailRatingDto_To_CocktailRatingViewModel() { //Arrange var sut = new CocktailRatingViewModelMapper(); var cocktailRating = new CocktailRatingDto { UserId = Guid.NewGuid(), UserName = "******", CocktailId = Guid.NewGuid(), CreatedOn = DateTime.Now, Value = 4, }; //Act var result = sut.MapFrom(cocktailRating); //Assert Assert.AreEqual(result.Value, cocktailRating.Value); Assert.AreEqual(result.CocktailId, cocktailRating.CocktailId); Assert.AreEqual(result.UserId, cocktailRating.UserId); Assert.AreEqual(result.UserName, cocktailRating.UserName); Assert.AreEqual(result.CreatedOn, cocktailRating.CreatedOn); }
public async Task ReturnNull_When_CocktailRatingParamsAreInvalid() { //Arrange var options = TestUtilities.GetOptions(nameof(ReturnNull_When_CocktailRatingParamsAreInvalid)); var mockDateTimeProvider = new Mock <IDateTimeProvider>(); var mapper = new Mock <IDtoMapper <CocktailRating, CocktailRatingDto> >(); var ratingDto = new CocktailRatingDto { Id = 1, UserId = 0, CocktailId = 0, Value = 0, }; //Act and Assert using (var assertContext = new CocktailMagicianContext(options)) { var sut = new CocktailRatingService(assertContext, mockDateTimeProvider.Object, mapper.Object); var result = await sut.CreateRatingAsync(ratingDto); Assert.IsNull(result); } }