示例#1
0
        public void GetAuthors_ReturnAll_Success()
        {
            using (var mock = AutoMock.GetLoose())
            {
                var mockedAuthors = MockDbSetHelper.CreateDbSetMock(GetAuthors());
                mock.Mock <IApplicationDbContext>().Setup(m => m.Authors).Returns(mockedAuthors.Object);

                var service = mock.Create <AuthorService>();

                var result = service.GetAuthors();

                Assert.Equal(2, result.Count());
            }
        }
示例#2
0
        public void GetAuthorByName_WithTest_ReturnAuthor()
        {
            using (var mock = AutoMock.GetLoose())
            {
                var mockedAuthors = MockDbSetHelper.CreateDbSetMock(GetAuthors());
                mock.Mock <IApplicationDbContext>().Setup(m => m.Authors).Returns(mockedAuthors.Object);

                var service = mock.Create <AuthorService>();

                var result = service.GetAuthorByName("test");

                Assert.Equal(authorId1, result.Id);
            }
        }
示例#3
0
        public void GetPost_WithPostId1_ReturnsPostDto()
        {
            using (var mock = AutoMock.GetLoose())
            {
                var mockedPosts = MockDbSetHelper.CreateDbSetMock(GetPosts());
                mock.Mock <IApplicationDbContext>().Setup(m => m.Posts).Returns(mockedPosts.Object);

                var service = mock.Create <PostService>();

                var result = service.GetPost(postId1);

                Assert.Equal("test", result.Title);
            }
        }
示例#4
0
        public void GetPost_InvalidId_ThrowsError()
        {
            using (var mock = AutoMock.GetLoose())
            {
                var mockedPosts = MockDbSetHelper.CreateDbSetMock(GetPosts());
                mock.Mock <IApplicationDbContext>().Setup(m => m.Posts).Returns(mockedPosts.Object);

                var service = mock.Create <PostService>();

                Action act = () => service.GetPost(Guid.NewGuid());

                Assert.Throws <Exception>(act);
            }
        }
示例#5
0
        public void GetComment_WithValidId_ReturnsComment()
        {
            using (var mock = AutoMock.GetLoose())
            {
                var mockedComments = MockDbSetHelper.CreateDbSetMock(GetComments());
                mock.Mock <IApplicationDbContext>().Setup(m => m.Comments).Returns(mockedComments.Object);

                var service = mock.Create <CommentService>();

                var result = service.GetComment(commentId1);

                Assert.Equal("test", result.Content);
            }
        }
示例#6
0
        public void GetPosts_ReturnAll_ReturnsAllPosts()
        {
            using (var mock = AutoMock.GetLoose())
            {
                var mockedPosts = MockDbSetHelper.CreateDbSetMock(GetPosts());
                mock.Mock <IApplicationDbContext>().Setup(m => m.Posts).Returns(mockedPosts.Object);

                var service = mock.Create <PostService>();

                var result = service.GetPosts();

                Assert.Equal(2, result.Count());
            }
        }
示例#7
0
        public void DeleteComment_WithInvalidId_ThrowsError()
        {
            using (var mock = AutoMock.GetLoose())
            {
                var mockedComments  = MockDbSetHelper.CreateDbSetMock(GetComments());
                var mockedDbContext = mock.Mock <IApplicationDbContext>();
                mockedDbContext.Setup(m => m.Comments).Returns(mockedComments.Object);

                var service = mock.Create <CommentService>();

                Action act = () => service.DeleteComment(Guid.NewGuid());

                Assert.Throws <Exception>(act);
            }
        }
示例#8
0
        public void DeleteComment_WithValidId_DeletesComment()
        {
            using (var mock = AutoMock.GetLoose())
            {
                var mockedComments  = MockDbSetHelper.CreateDbSetMock(GetComments());
                var mockedDbContext = mock.Mock <IApplicationDbContext>();
                mockedDbContext.Setup(m => m.Comments).Returns(mockedComments.Object);

                var service = mock.Create <CommentService>();

                service.DeleteComment(commentId1);

                mockedDbContext.Verify(m => m.SaveChanges(), Times.Once);
            }
        }
示例#9
0
        public void DeletePost_WithPostId1_DeletesPost()
        {
            using (var mock = AutoMock.GetLoose())
            {
                var mockedPosts     = MockDbSetHelper.CreateDbSetMock(GetPosts());
                var mockedDbContext = mock.Mock <IApplicationDbContext>();

                mockedDbContext.Setup(m => m.Posts).Returns(mockedPosts.Object);

                var service = mock.Create <PostService>();

                service.DeletePost(postId1);

                mockedDbContext.Verify(m => m.SaveChanges(), Times.Once);
            }
        }
示例#10
0
        public void GetCommentByPostId_WithValidId_ReturnsComment()
        {
            using (var mock = AutoMock.GetLoose())
            {
                var mockedComments = MockDbSetHelper.CreateDbSetMock(GetComments());
                var mockedPosts    = MockDbSetHelper.CreateDbSetMock(GetPosts());
                mock.Mock <IApplicationDbContext>().Setup(m => m.Comments).Returns(mockedComments.Object);
                mock.Mock <IApplicationDbContext>().Setup(m => m.Posts).Returns(mockedPosts.Object);

                var service = mock.Create <CommentService>();

                var result = service.GetCommentsByPostId(postId1);

                Assert.Single(result);
            }
        }
示例#11
0
        public void Setup()
        {
            var options = new DbContextOptionsBuilder <DataDbContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString())
                          .Options;

            _context  = new DataDbContext(options);
            _accounts = new List <AccountEntity> {
                new AccountEntity {
                    IBAN = "mock", Balance = 1000
                }
            };
            _context.Accounts = MockDbSetHelper.CreateDbSetMock(_accounts).Object;
            var config = new MapperConfiguration(cfg => { cfg.AddProfile(new AutoMapping()); });

            _target = new AccountRepository(_context, new Mapper(config));
        }
示例#12
0
        public void CreatePost_WithPostDto_ReturnsGuid()
        {
            using (var mock = AutoMock.GetLoose())
            {
                var mockedPosts = MockDbSetHelper.CreateDbSetMock(GetPosts());
                mock.Mock <IApplicationDbContext>().Setup(m => m.Posts).Returns(mockedPosts.Object);

                var service = mock.Create <PostService>();
                var id      = Guid.NewGuid();

                var result = service.CreatePost(new Blog.Dto.PostDto()
                {
                    Id = id
                });

                Assert.Equal(id, result);
            }
        }
示例#13
0
        public void UpdateComment_WithCommentDto_ReturnsCommentDto()
        {
            using (var mock = AutoMock.GetLoose())
            {
                var mockedComments = MockDbSetHelper.CreateDbSetMock(GetComments());
                mock.Mock <IApplicationDbContext>().Setup(m => m.Comments).Returns(mockedComments.Object);

                var service = mock.Create <CommentService>();

                var result = service.UpdateComment(new Blog.Dto.CommentDto()
                {
                    Id      = commentId1,
                    Content = "updated"
                });

                Assert.Equal("updated", result.Content);
            }
        }
示例#14
0
        public void CreateAuthor_WithAuthorObject_ReturnsGuid()
        {
            using (var mock = AutoMock.GetLoose())
            {
                var mockedAuthors = MockDbSetHelper.CreateDbSetMock(GetAuthors());
                mock.Mock <IApplicationDbContext>().Setup(m => m.Authors).Returns(mockedAuthors.Object);

                var service        = mock.Create <AuthorService>();
                var id             = Guid.NewGuid();
                var authorToCreate = new AuthorDto()
                {
                    Id = id
                };

                var result = service.CreateAuthor(authorToCreate);

                Assert.Equal(id, result);
            }
        }
示例#15
0
        public void UpdatePost_WithDifferentTitle_UpdatesTitle()
        {
            using (var mock = AutoMock.GetLoose())
            {
                var mockedPosts     = MockDbSetHelper.CreateDbSetMock(GetPosts());
                var mockedDbContext = mock.Mock <IApplicationDbContext>();

                mockedDbContext.Setup(m => m.Posts).Returns(mockedPosts.Object);

                var service = mock.Create <PostService>();

                var result = service.UpdatePost(new Blog.Dto.PostDto()
                {
                    Id    = postId1,
                    Title = "test123"
                });

                Assert.Equal("test123", result.Title);
            }
        }
        private Transaction GetTestableTransaction(Mock <IAccountDbContext> context)
        {
            var account = TestData.Accounts.Object.First();
            var list    = new List <Account> {
                account
            };

            context.Setup(x => x.Accounts)
            .Returns(MockDbSetHelper.GetMockDbSet(list.AsQueryable()).Object);

            var transaction = new Transaction
            {
                AccountId         = account.Id,
                Account           = account,
                Amount            = 100,
                DateAdded         = new DateTime(2000, 1, 1),
                TransactionDate   = new DateTime(2000, 1, 1),
                TransactionTypeId = (int)TransactionTypeEnum.Deposit
            };

            return(transaction);
        }