Exemple #1
0
        public async Task <BarCommentDto> CreateCommentAsync(BarCommentDto tempBarComment)
        {
            if (tempBarComment == null)
            {
                return(null);
            }
            if (tempBarComment.Text == null || tempBarComment.UserId < 1 || tempBarComment.BarId < 1)
            {
                return(null);
            }


            var newBarComment = new BarComment
            {
                Id     = tempBarComment.Id,
                Text   = tempBarComment.Text,
                BarId  = tempBarComment.BarId,
                UserId = tempBarComment.UserId,
                Author = this.context.Users
                         .FirstOrDefault(a => a.UserName == tempBarComment.Author),
                CreatedOn = this.dateTimeProvider.GetDateTime(),
            };

            await this.context.AddAsync(newBarComment);

            await this.context.SaveChangesAsync();

            var barCommentDto = this.dtoMapper.MapDto(newBarComment);

            return(barCommentDto);
        }
        public void MapFrom_Should_CorrectlyMapFrom_BarCommentDto_To_BarCommentViewModel()
        {
            //Arrange
            var sut = new BarCommentViewModelMapper();

            var barComment = new BarCommentDto
            {
                Id        = Guid.NewGuid(),
                BarId     = Guid.NewGuid(),
                UserId    = Guid.NewGuid(),
                UserName  = "******",
                Body      = "testBody",
                CreatedOn = DateTime.MinValue,
            };

            //Act
            var result = sut.MapFrom(barComment);

            //Assert
            Assert.AreEqual(result.Id, barComment.Id);
            Assert.AreEqual(result.BarId, barComment.BarId);
            Assert.AreEqual(result.UserId, barComment.UserId);
            Assert.AreEqual(result.UserName, barComment.UserName);
            Assert.AreEqual(result.Body, barComment.Body);
            Assert.AreEqual(result.CreatedOn, barComment.CreatedOn);
        }
Exemple #3
0
        public async Task <BarCommentDto> CreateAsync(BarCommentDto tempBarComment)
        {
            if (tempBarComment == null)
            {
                throw new BusinessLogicException(ExceptionMessages.BarCommentNull);
            }
            if (String.IsNullOrEmpty(tempBarComment.Body))
            {
                throw new BusinessLogicException(ExceptionMessages.GeneralOopsMessage);
            }

            var barComment = new BarComment
            {
                Id         = tempBarComment.Id,
                BarId      = tempBarComment.BarId,
                UserId     = tempBarComment.UserId,
                Body       = tempBarComment.Body,
                CreatedOn  = tempBarComment.CreatedOn,
                ModifiedOn = tempBarComment.ModifiedOn,
                DeletedOn  = tempBarComment.DeletedOn,
                IsDeleted  = tempBarComment.IsDeleted
            };



            await this.context.BarComments.AddAsync(barComment);

            await this.context.SaveChangesAsync();

            var barCommentDto = this.dtoMapper.MapFrom(barComment);

            return(barCommentDto);
        }
        public async Task CorrectlyCreateBarComment()
        {
            //Arrange
            var options = TestUtilities.GetOptions(nameof(CorrectlyCreateBarComment));

            var mapperMock = new Mock <IDtoMapper <BarComment, BarCommentDto> >();

            var id     = Guid.NewGuid();
            var barId  = Guid.NewGuid();
            var userId = Guid.NewGuid();

            var createdOn = DateTime.UtcNow;

            var entityDto = new BarCommentDto
            {
                Id        = id,
                BarId     = barId,
                UserId    = userId,
                UserName  = "******",
                Body      = "testbody",
                CreatedOn = createdOn
            };

            var entity = new BarComment
            {
                Id        = id,
                BarId     = barId,
                UserId    = userId,
                Body      = "testbody",
                CreatedOn = createdOn
            };

            mapperMock.Setup(x => x.MapFrom(It.IsAny <BarComment>())).Returns(entityDto);


            using (var assertContext = new CWContext(options))
            {
                //Assert

                var sut    = new BarCommentService(assertContext, mapperMock.Object);
                var result = await sut.CreateAsync(entityDto);

                Assert.IsInstanceOfType(result, typeof(BarCommentDto));
                Assert.AreEqual(id, result.Id);
                Assert.AreEqual(barId, result.BarId);
                Assert.AreEqual(userId, result.UserId);
                Assert.AreEqual("testbody", result.Body);
                Assert.AreEqual("testuser", result.UserName);

                Assert.AreEqual(entityDto.Id, result.Id);
                Assert.AreEqual(entityDto.BarId, result.BarId);
                Assert.AreEqual(entityDto.UserId, result.UserId);
                Assert.AreEqual(entityDto.Body, result.Body);
                Assert.AreEqual(entityDto.UserName, result.UserName);
            }
        }
Exemple #5
0
        public async Task ReturnCorrectTypeOfEntity()
        {
            //Arrange
            var options = TestUtilities.GetOptions(nameof(ReturnCorrectTypeOfEntity));

            var mapperMock = new Mock <IDtoMapper <BarComment, BarCommentDto> >();

            var id     = Guid.NewGuid();
            var barId  = Guid.NewGuid();
            var userId = Guid.NewGuid();

            var createdOn = DateTime.UtcNow;

            var entityDto = new BarCommentDto
            {
                Id        = id,
                BarId     = barId,
                UserId    = userId,
                UserName  = "******",
                Body      = "testbody",
                CreatedOn = createdOn
            };

            var entity = new BarComment
            {
                Id        = id,
                BarId     = barId,
                UserId    = userId,
                Body      = "testbody",
                CreatedOn = createdOn
            };

            mapperMock.Setup(x => x.MapFrom(It.IsAny <BarComment>())).Returns(entityDto);

            using (var arrangeContext = new CWContext(options))
            {
                await arrangeContext.BarComments.AddAsync(entity);

                await arrangeContext.SaveChangesAsync();
            }

            using (var assertContext = new CWContext(options))
            {
                //Act & Assert
                var sut = new BarCommentService(assertContext, mapperMock.Object);

                var result = await sut.EditAsync(id, "newbody");

                Assert.IsInstanceOfType(result, typeof(BarCommentDto));
            }
        }
        public async Task Create_Comment_Correctly()
        {
            //Arrange
            var options = TestUtilities.GetOptions(nameof(Create_Comment_Correctly));
            var mockDateTimeProvider    = new Mock <IDateTimeProvider>();
            var mockBarCommentDtoMapper = new Mock <IDtoMapper <BarComment, BarCommentDto> >();

            var user = new User {
                Id = 1
            };
            var bar = new Bar {
                Id = 1
            };

            var commentDto = new BarCommentDto
            {
                Id     = 1,
                UserId = 1,
                BarId  = 1,
                Text   = "TestComment",
            };

            mockBarCommentDtoMapper.Setup(x => x.MapDto(It.IsAny <BarComment>())).Returns(commentDto);
            using (var arrangeContext = new CocktailMagicianContext(options))
            {
                await arrangeContext.Bars.AddAsync(bar);

                await arrangeContext.Users.AddAsync(user);

                await arrangeContext.SaveChangesAsync();
            }
            //Act and Assert
            using (var assertContext = new CocktailMagicianContext(options))
            {
                var sut    = new BarCommentsService(assertContext, mockBarCommentDtoMapper.Object, mockDateTimeProvider.Object);
                var result = await sut.CreateCommentAsync(commentDto);

                Assert.IsInstanceOfType(result, typeof(BarCommentDto));
                Assert.AreEqual(1, result.Id);
                Assert.AreEqual(1, result.BarId);
                Assert.AreEqual(1, result.UserId);
                Assert.AreEqual("TestComment", result.Text);
            }
        }
        public void MapFrom_Should_ReturnCorrectInstanceOf_BarCommentViewModel()
        {
            //Arrange
            var sut = new BarCommentViewModelMapper();

            var barComment = new BarCommentDto
            {
                Id        = Guid.NewGuid(),
                BarId     = Guid.NewGuid(),
                UserId    = Guid.NewGuid(),
                UserName  = "******",
                Body      = "testBody",
                CreatedOn = DateTime.MinValue,
            };

            //Act
            var result = sut.MapFrom(barComment);

            //Assert
            Assert.IsInstanceOfType(result, typeof(BarCommentViewModel));
        }
        public async Task ReturnNull_When_DtoParamsAreInvalid()
        {
            //Arrange
            var options = TestUtilities.GetOptions(nameof(ReturnNull_When_DtoParamsAreInvalid));
            var mockDateTimeProvider    = new Mock <IDateTimeProvider>();
            var mockBarCommentDtoMapper = new Mock <IDtoMapper <BarComment, BarCommentDto> >();

            var user = new User {
                Id = 1
            };
            var bar = new Bar {
                Id = 1
            };

            var commentDto = new BarCommentDto
            {
                Id     = 1,
                UserId = 0,
                BarId  = 0,
                Text   = null,
            };

            using (var arrangeContext = new CocktailMagicianContext(options))
            {
                await arrangeContext.Bars.AddAsync(bar);

                await arrangeContext.Users.AddAsync(user);

                await arrangeContext.SaveChangesAsync();
            }
            //Act and Assert
            using (var assertContext = new CocktailMagicianContext(options))
            {
                var sut    = new BarCommentsService(assertContext, mockBarCommentDtoMapper.Object, mockDateTimeProvider.Object);
                var result = await sut.CreateCommentAsync(null);

                Assert.IsNull(result);
            }
        }