예제 #1
0
        public async Task CreateComment_Throws_When_NoUserFound()
        {
            //Arrange
            var options = Utils.GetOptions(nameof(CreateComment_Throws_When_NoUserFound));

            var bar = new Bar {
                Id = Guid.NewGuid(), Name = "Manhattan"
            };
            var userId        = Guid.NewGuid();
            var barCommentDTO = new BarCommentDTO {
                BarId = bar.Id, UserId = userId
            };


            using (var arrangeContext = new CMContext(options))
            {
                await arrangeContext.Bars.AddRangeAsync(bar);

                await arrangeContext.SaveChangesAsync();
            }

            //Act, Assert
            using (var assertContext = new CMContext(options))
            {
                var sut = new BarCommentsServices(assertContext);

                await Assert.ThrowsExceptionAsync <ArgumentNullException>(() => sut.CreateComment(barCommentDTO));
            }
        }
예제 #2
0
        public async Task CreateComment_CreatesBar_Correct()
        {
            //Arrange
            var options = Utils.GetOptions(nameof(CreateComment_CreatesBar_Correct));

            var user = new User {
                Id = Guid.NewGuid(), UserName = "******"
            };
            var bar = new Bar {
                Id = Guid.NewGuid(), Name = "Manhattan"
            };

            var barCommentDTO = new BarCommentDTO {
                BarId = bar.Id, UserId = user.Id, Comments = "Good bar"
            };


            using (var arrangeContext = new CMContext(options))
            {
                await arrangeContext.Users.AddRangeAsync(user);

                await arrangeContext.Bars.AddRangeAsync(bar);

                await arrangeContext.SaveChangesAsync();
            }

            //Act, Assert
            using (var assertContext = new CMContext(options))
            {
                var sut    = new BarCommentsServices(assertContext);
                var result = await sut.CreateComment(barCommentDTO);

                Assert.AreEqual(bar.Id, result.BarId);
                Assert.AreEqual(user.Id, result.UserId);
                Assert.AreEqual(1, assertContext.BarComments.Count());
                Assert.IsInstanceOfType(result, typeof(BarCommentDTO));
            }
        }