Ejemplo n.º 1
0
        public async Task CreatePhotoCommentAsyncShouldWorkCorrectly()
        {
            var comments = new List <Comment>();
            var photos   = new List <Photo>();
            var appUsers = new List <ApplicationUser>();

            var mockCommentRepo = new Mock <IDeletableEntityRepository <Comment> >();

            mockCommentRepo.Setup(x => x.All()).Returns(comments.AsQueryable());
            mockCommentRepo.Setup(x => x.AddAsync(It.IsAny <Comment>())).Callback((Comment comm) => comments.Add(comm));

            var mockPhoto = new Mock <IDeletableEntityRepository <Photo> >();

            mockPhoto.Setup(x => x.All()).Returns(photos.AsQueryable());
            mockPhoto.Setup(x => x.AddAsync(It.IsAny <Photo>())).Callback((Photo ph) => photos.Add(ph));

            var mockAppUser = new Mock <IDeletableEntityRepository <ApplicationUser> >();

            mockAppUser.Setup(x => x.All()).Returns(appUsers.AsQueryable());
            mockAppUser.Setup(x => x.AddAsync(It.IsAny <ApplicationUser>())).Callback((ApplicationUser appU) => appUsers.Add(appU));

            var service = new CommentsService(mockCommentRepo.Object, mockPhoto.Object, mockAppUser.Object);

            await service.CreatePhotoCommentAsync("1", "1", "Are you crazy?", "1");

            var expectedResult = 1;

            Assert.Equal(expectedResult, comments.Count());
        }