public void ValidateBlogPost_ValidBlogPost_Returns()
        {
            var validator      = new BlogPostValidator();
            var param_blogPost = new BlogPostFactory().Create();

            validator.ValidateBlogPost(param_blogPost);
        }
        public void Delete_VerifyDataAccess()
        {
            var fakeConfig         = MakeFakeConfig();
            var mockFileDataAccess = new MockIFileDataAccess <BlogPost>();
            var fileAdapter        = new BlogPostFileAdapter(fakeConfig, mockFileDataAccess);
            var param_entity       = new BlogPostFactory().Create();
            var stub_blogPost      = new BlogPostFactory().Create();

            stub_blogPost.PostId = Guid.Parse("55555555-5555-5555-5555-555555555555");
            var stub_list = new List <BlogPost> {
                param_entity, stub_blogPost
            };

            mockFileDataAccess.StubReadDatabase(stub_list);
            var expected_readDBfilePath      = fakeConfig[KeyChain.FileDataAccess_BlogPost_DatabasePath];
            var expected_overwriteDBfilePath = fakeConfig[KeyChain.FileDataAccess_BlogPost_DatabasePath];
            var expected_overwriteDB_newList = new List <BlogPost> {
                stub_blogPost
            };

            fileAdapter.Delete(param_entity);

            mockFileDataAccess.VerifyReadDatabase(expected_readDBfilePath);
            mockFileDataAccess.VerifyOverwriteDatabase(expected_overwriteDBfilePath, expected_overwriteDB_newList);
        }
        public void Add_ValidBlogPost_Returns()
        {
            var stubDataAccessAdapter = new StubIBlogPostDataAccessAdapter();
            var stubValidator         = new StubIBlogPostValidator();
            var repository            = new BlogPostRepository(stubDataAccessAdapter, stubValidator);
            var param_blogPost        = new BlogPostFactory().Create();

            repository.Add(param_blogPost);
        }
        public void DeleteAllByAuthorId_ValidAuthorId_Returns()
        {
            var stubDataAccessAdapter = new StubIBlogPostDataAccessAdapter();
            var stubValidator         = new StubIBlogPostValidator();
            var repository            = new BlogPostRepository(stubDataAccessAdapter, stubValidator);
            var param_authorId        = new BlogPostFactory().Create().AuthorId;

            repository.DeleteAllByAuthorId(param_authorId);
        }
        public void ValidateBlogPost_PostTitleIsInvalid_ThrowsException(string invalidValue)
        {
            var validator      = new BlogPostValidator();
            var param_blogPost = new BlogPostFactory().Create();

            param_blogPost.PostTitle = invalidValue;
            Assert.Throws <ArgumentException>(
                () => validator.ValidateBlogPost(param_blogPost));
        }
        public void Add_Returns()
        {
            var fakeConfig         = MakeFakeConfig();
            var stubFileDataAccess = new StubIFileDataAccess <BlogPost>();
            var fileAdapter        = new BlogPostFileAdapter(fakeConfig, stubFileDataAccess);
            var param_entity       = new BlogPostFactory().Create();

            fileAdapter.Add(param_entity);
        }
        public void DeleteAllByAuthorId_ValidAuthorId_VerifyDataAccessAdapter()
        {
            var mockDataAccessAdapter = new MockIBlogPostDataAccessAdapter();
            var stubValidator         = new StubIBlogPostValidator();
            var repository            = new BlogPostRepository(mockDataAccessAdapter, stubValidator);
            var param_authorId        = new BlogPostFactory().Create().AuthorId;

            repository.DeleteAllByAuthorId(param_authorId);

            mockDataAccessAdapter.VerifyDeleteAllByAuthorId(param_authorId);
        }
        public void Delete_ValidBlogPost_VerifyDataAccessAdapter()
        {
            var mockDataAccessAdapter = new MockIBlogPostDataAccessAdapter();
            var stubValidator         = new StubIBlogPostValidator();
            var repository            = new BlogPostRepository(mockDataAccessAdapter, stubValidator);
            var param_blogPost        = new BlogPostFactory().Create();

            repository.Delete(param_blogPost);

            mockDataAccessAdapter.VerifyDelete(param_blogPost);
        }
        public void Edit_Return()
        {
            var fakeConfig           = MakeFakeConfig();
            var stubWebApiDataAccess = new StubIWebApiDataAccess();
            var webApiAdapter        = new BlogPostWebApiAdapter(fakeConfig, stubWebApiDataAccess);
            var param_entity         = new BlogPostFactory().Create();

            stubWebApiDataAccess.StubSendRequest(MakeHttpResponseMessage(HttpStatusCode.OK));

            webApiAdapter.Edit(param_entity);
        }
示例#10
0
        public void AddBlogPost_VerifyRepository()
        {
            var mockBlogPostRepo = new MockIBlogPostRepository();
            var interactor       = new AddBlogPostInteractor(mockBlogPostRepo);
            var stub_BlogPost    = new BlogPostFactory().Create();
            var param_request    = MakeRequest(stub_BlogPost);

            var response = interactor.AddBlogPost(param_request);

            mockBlogPostRepo.VerifyAdd(response.Post);
        }
        public void DeleteByAuthorId_Returns()
        {
            var fakeConfig           = MakeFakeConfig();
            var stubWebApiDataAccess = new StubIWebApiDataAccess();
            var webApiAdapter        = new BlogPostWebApiAdapter(fakeConfig, stubWebApiDataAccess);
            var param_id             = new BlogPostFactory().Create().AuthorId;

            stubWebApiDataAccess.StubSendRequest(MakeHttpResponseMessage(HttpStatusCode.OK));

            webApiAdapter.DeleteAllByAuthorId(param_id);
        }
        public void Add_ValidBlogPost_VerifyValidator()
        {
            var stubDataAccessAdapter = new StubIBlogPostDataAccessAdapter();
            var mockValidator         = new MockIBlogPostValidator();
            var repository            = new BlogPostRepository(stubDataAccessAdapter, mockValidator);
            var param_blogPost        = new BlogPostFactory().Create();

            repository.Add(param_blogPost);

            mockValidator.VerifyValidateBlogPost(param_blogPost);
        }
        public void Add_VerifyDataAccess()
        {
            var fakeConfig         = MakeFakeConfig();
            var mockFileDataAccess = new MockIFileDataAccess <BlogPost>();
            var fileAdapter        = new BlogPostFileAdapter(fakeConfig, mockFileDataAccess);
            var param_entity       = new BlogPostFactory().Create();
            var expectedfilePath   = fakeConfig[KeyChain.FileDataAccess_BlogPost_DatabasePath];

            fileAdapter.Add(param_entity);

            mockFileDataAccess.VerifyWriteToDatabase(expectedfilePath, param_entity);
        }
        public void Add_VerifySendRequestCalled()
        {
            var fakeConfig           = MakeFakeConfig();
            var mockWebApiDataAccess = new MockIWebApiDataAccess();
            var webApiAdapter        = new BlogPostWebApiAdapter(fakeConfig, mockWebApiDataAccess);
            var param_entity         = new BlogPostFactory().Create();

            mockWebApiDataAccess.StubSendRequest(MakeHttpResponseMessage(HttpStatusCode.OK));

            webApiAdapter.Add(param_entity);

            mockWebApiDataAccess.VerifySendRequestCalled(1);
        }
        public void DeleteByAuthorId_VerifySendRequestCalled()
        {
            var fakeConfig           = MakeFakeConfig();
            var mockWebApiDataAccess = new MockIWebApiDataAccess();
            var webApiAdapter        = new BlogPostWebApiAdapter(fakeConfig, mockWebApiDataAccess);
            var param_id             = new BlogPostFactory().Create().AuthorId;

            mockWebApiDataAccess.StubSendRequest(MakeHttpResponseMessage(HttpStatusCode.OK));

            webApiAdapter.DeleteAllByAuthorId(param_id);

            mockWebApiDataAccess.VerifySendRequestCalled(1);
        }
        public void DeleteAllByAuthorId_Returns()
        {
            var fakeConfig = MakeFakeConfig();
            var stubSqlParameterBuilder = new StubISqlParameterBuilder();
            var stubSqlServerDataAccess = new StubISqlServerDataAccess();
            var sqlServerAdapter        = new BlogPostSqlServerAdapter(fakeConfig,
                                                                       stubSqlServerDataAccess, stubSqlParameterBuilder);
            var param_id = new BlogPostFactory().Create().AuthorId;

            stubSqlServerDataAccess.StubExecuteNonQueryStoredProcedure(1);

            sqlServerAdapter.DeleteAllByAuthorId(param_id);
        }
        public void Add_Returns()
        {
            var fakeConfig = MakeFakeConfig();
            var stubSqlParameterBuilder = new StubISqlParameterBuilder();
            var stubSqlServerDataAccess = new StubISqlServerDataAccess();
            var sqlServerAdapter        = new BlogPostSqlServerAdapter(fakeConfig,
                                                                       stubSqlServerDataAccess, stubSqlParameterBuilder);
            var param_entity = new BlogPostFactory().Create();

            stubSqlServerDataAccess.StubExecuteNonQueryStoredProcedure(1);

            sqlServerAdapter.Add(param_entity);
        }
        public void DeleteBlogPost_ValidBlogPost_ReturnsExpectedResponse()
        {
            var stubBlogPostRepo = new StubIBlogPostRepository();
            var interactor       = new DeleteBlogPostInteractor(stubBlogPostRepo);
            var stub_BlogPost    = new BlogPostFactory().Create();

            stubBlogPostRepo.StubGetById(stub_BlogPost);
            var expected      = MakeResponse(true);
            var param_request = MakeRequest(stub_BlogPost);

            var actual = interactor.DeleteBlogPost(param_request);

            Assert.Equal(expected.DeleteSuccessful, actual.DeleteSuccessful);
        }
        public void DeleteBlogPost_VerifyRepository()
        {
            var mockBlogPostRepo = new MockIBlogPostRepository();
            var interactor       = new DeleteBlogPostInteractor(mockBlogPostRepo);
            var stub_BlogPost    = new BlogPostFactory().Create();

            mockBlogPostRepo.StubGetById(stub_BlogPost);
            var param_request = MakeRequest(stub_BlogPost);

            var response = interactor.DeleteBlogPost(param_request);

            mockBlogPostRepo.VerifyGetById(stub_BlogPost.PostId);
            mockBlogPostRepo.VerifyDelete(stub_BlogPost);
        }
        public void GetById_ValidBlogPost_ReturnsExpectedBlogPost()
        {
            var stubDataAccessAdapter = new StubIBlogPostDataAccessAdapter();
            var stubValidator         = new StubIBlogPostValidator();
            var repository            = new BlogPostRepository(stubDataAccessAdapter, stubValidator);
            var expected = new BlogPostFactory().Create();

            stubDataAccessAdapter.StubGetById(expected);
            var param_authorId = expected.AuthorId;

            var actual = repository.GetById(param_authorId);

            Assert.Equal(expected, actual);
        }
        public void GetById_ListReturnedIsEmpty_ReturnsNullBlogPost()
        {
            var fakeConfig = MakeFakeConfig();
            var stubSqlParameterBuilder = new StubISqlParameterBuilder();
            var stubSqlServerDataAccess = new StubISqlServerDataAccess();
            var sqlServerAdapter        = new BlogPostSqlServerAdapter(fakeConfig,
                                                                       stubSqlServerDataAccess, stubSqlParameterBuilder);
            var param_id = new BlogPostFactory().Create().PostId;

            stubSqlServerDataAccess.StubExecuteReaderStoredProcedure(new List <BlogPost>());

            var returned_blogpost = sqlServerAdapter.GetById(param_id);

            Assert.Null(returned_blogpost);
        }
        public void GetById_ListReturnedIsEmpty_VerifySqlServerDataAccess()
        {
            var fakeConfig = MakeFakeConfig();
            var stubSqlParameterBuilder = new StubISqlParameterBuilder();
            var mockSqlServerDataAccess = new MockISqlServerDataAccess();
            var sqlServerAdapter        = new BlogPostSqlServerAdapter(fakeConfig,
                                                                       mockSqlServerDataAccess, stubSqlParameterBuilder);
            var param_id = new BlogPostFactory().Create().PostId;

            mockSqlServerDataAccess.StubExecuteReaderStoredProcedure(new List <BlogPost>());

            sqlServerAdapter.GetById(param_id);

            mockSqlServerDataAccess.VerifyExecuteReaderStoredProcedureCalled <BlogPost>(1);
        }
示例#23
0
        public void AddBlogPost_ValidBlogPost_ReturnsExpectedResponse()
        {
            var stubBlogPostRepo = new StubIBlogPostRepository();
            var interactor       = new AddBlogPostInteractor(stubBlogPostRepo);
            var stub_BlogPost    = new BlogPostFactory().Create();
            var expected         = MakeResponse(stub_BlogPost, true);
            var param_request    = MakeRequest(stub_BlogPost);

            var actual = interactor.AddBlogPost(param_request);

            Assert.Equal(expected.AddSuccessful, actual.AddSuccessful);
            Assert.Equal(expected.Post.AuthorId, actual.Post.AuthorId);
            Assert.Equal(expected.Post.PostBody, actual.Post.PostBody);
            Assert.Equal(expected.Post.PostTitle, actual.Post.PostTitle);
        }
        public void Delete_VerifySqlServerDataAccess()
        {
            var fakeConfig = MakeFakeConfig();
            var stubSqlParameterBuilder = new StubISqlParameterBuilder();
            var mockSqlServerDataAccess = new MockISqlServerDataAccess();
            var sqlServerAdapter        = new BlogPostSqlServerAdapter(fakeConfig,
                                                                       mockSqlServerDataAccess, stubSqlParameterBuilder);
            var param_entity = new BlogPostFactory().Create();

            mockSqlServerDataAccess.StubExecuteNonQueryStoredProcedure(1);

            sqlServerAdapter.Delete(param_entity);

            mockSqlServerDataAccess.VerifyExecuteNonQueryStoredProcedureCalled(1);
        }
        public void GetById_VerifySendRequestCalled()
        {
            var fakeConfig            = MakeFakeConfig();
            var mockWebApiDataAccess  = new MockIWebApiDataAccess();
            var webApiAdapter         = new BlogPostWebApiAdapter(fakeConfig, mockWebApiDataAccess);
            var param_id              = new BlogPostFactory().Create().PostId;
            var stub_expectedBlogPost = new BlogPostFactory().Create();
            var stub_response         = MakeHttpResponseMessage(HttpStatusCode.OK);

            stub_response.Content = new StringContent(JsonConvert.SerializeObject(stub_expectedBlogPost));
            mockWebApiDataAccess.StubSendRequest(stub_response);

            webApiAdapter.GetById(param_id);

            mockWebApiDataAccess.VerifySendRequestCalled(1);
        }
        public void GetById_ReturnsExpectedBlogPost()
        {
            var fakeConfig           = MakeFakeConfig();
            var stubWebApiDataAccess = new StubIWebApiDataAccess();
            var webApiAdapter        = new BlogPostWebApiAdapter(fakeConfig, stubWebApiDataAccess);
            var param_id             = new BlogPostFactory().Create().PostId;
            var expected             = new BlogPostFactory().Create();
            var stub_response        = MakeHttpResponseMessage(HttpStatusCode.OK);

            stub_response.Content = new StringContent(JsonConvert.SerializeObject(expected));
            stubWebApiDataAccess.StubSendRequest(stub_response);

            var actual = webApiAdapter.GetById(param_id);

            AssertBlogPostAreEqual(expected, actual);
        }
        public void Delete_Returns()
        {
            var fakeConfig         = MakeFakeConfig();
            var stubFileDataAccess = new StubIFileDataAccess <BlogPost>();
            var fileAdapter        = new BlogPostFileAdapter(fakeConfig, stubFileDataAccess);
            var param_entity       = new BlogPostFactory().Create();
            var stub_blogPost      = new BlogPostFactory().Create();

            stub_blogPost.PostId = Guid.Parse("55555555-5555-5555-5555-555555555555");
            var stub_list = new List <BlogPost> {
                param_entity, stub_blogPost
            };

            stubFileDataAccess.StubReadDatabase(stub_list);

            fileAdapter.Delete(param_entity);
        }
        public void List_ReturnsExpectedList()
        {
            var fakeConfig         = MakeFakeConfig();
            var stubFileDataAccess = new StubIFileDataAccess <BlogPost>();
            var fileAdapter        = new BlogPostFileAdapter(fakeConfig, stubFileDataAccess);
            var stub_blogPost      = new BlogPostFactory().Create();
            var stub_list          = new List <BlogPost> {
                stub_blogPost
            };

            stubFileDataAccess.StubReadDatabase(stub_list);
            var expected = stub_list;

            var actual = fileAdapter.List();

            Assert.Equal(expected, actual);
        }
        public void List_VerifyFileDataAccess()
        {
            var fakeConfig         = MakeFakeConfig();
            var mockFileDataAccess = new MockIFileDataAccess <BlogPost>();
            var fileAdapter        = new BlogPostFileAdapter(fakeConfig, mockFileDataAccess);
            var stub_blogPost      = new BlogPostFactory().Create();
            var stub_list          = new List <BlogPost> {
                stub_blogPost
            };

            mockFileDataAccess.StubReadDatabase(stub_list);
            var expected_readDBfilePath = fakeConfig[KeyChain.FileDataAccess_BlogPost_DatabasePath];

            fileAdapter.List();

            mockFileDataAccess.VerifyReadDatabase(expected_readDBfilePath);
        }
        public void DeleteByAuthorId_Returns()
        {
            var fakeConfig         = MakeFakeConfig();
            var stubFileDataAccess = new StubIFileDataAccess <BlogPost>();
            var fileAdapter        = new BlogPostFileAdapter(fakeConfig, stubFileDataAccess);
            var stub_blogPost1     = new BlogPostFactory().Create();
            var stub_blogPost2     = new BlogPostFactory().Create();

            stub_blogPost2.AuthorId = Guid.Parse("55555555-5555-5555-5555-555555555555");
            var stub_list = new List <BlogPost> {
                stub_blogPost1, stub_blogPost2
            };

            stubFileDataAccess.StubReadDatabase(stub_list);

            fileAdapter.DeleteAllByAuthorId(stub_blogPost2.AuthorId);
        }