/// <summary> /// Creates a new api from the currently registered /// repositories. /// </summary> public Api( IContentFactory contentFactory, IAliasRepository aliasRepository, IArchiveRepository archiveRepository, IMediaRepository mediaRepository, IPageRepository pageRepository, IPageTypeRepository pageTypeRepository, IParamRepository paramRepository, IPostRepository postRepository, IPostTypeRepository postTypeRepository, ISiteRepository siteRepository, ISiteTypeRepository siteTypeRepository, ICache cache = null, IStorage storage = null, IImageProcessor processor = null) { // Store the cache _cache = cache; // Create services without dependecies PageTypes = new PageTypeService(pageTypeRepository, cache); Params = new ParamService(paramRepository, cache); PostTypes = new PostTypeService(postTypeRepository, cache); Sites = new SiteService(siteRepository, contentFactory, cache); SiteTypes = new SiteTypeService(siteTypeRepository, cache); // Create services with dependencies Aliases = new AliasService(aliasRepository, Sites, cache); Media = new MediaService(mediaRepository, Params, storage, processor, cache); Pages = new PageService(pageRepository, contentFactory, Sites, Params, cache); Posts = new PostService(postRepository, contentFactory, Sites, Pages, cache); Archives = new ArchiveService(archiveRepository, Params, Posts); }
public async void Update_ErrorsOccurred_ShouldReturnErrorResponse() { var mock = new ServiceMockFacade <IPostTypeService, IPostTypeRepository>(); var model = new ApiPostTypeServerRequestModel(); var validatorMock = new Mock <IApiPostTypeServerRequestModelValidator>(); validatorMock.Setup(x => x.ValidateUpdateAsync(It.IsAny <int>(), It.IsAny <ApiPostTypeServerRequestModel>())).Returns(Task.FromResult(new ValidationResult(new List <ValidationFailure>() { new ValidationFailure("text", "test") }))); mock.RepositoryMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult(new PostType())); var service = new PostTypeService(mock.LoggerMock.Object, mock.MediatorMock.Object, mock.RepositoryMock.Object, validatorMock.Object, mock.DALMapperMockFactory.DALPostTypeMapperMock, mock.DALMapperMockFactory.DALPostMapperMock); UpdateResponse <ApiPostTypeServerResponseModel> response = await service.Update(default(int), model); response.Should().NotBeNull(); response.Success.Should().BeFalse(); validatorMock.Verify(x => x.ValidateUpdateAsync(It.IsAny <int>(), It.IsAny <ApiPostTypeServerRequestModel>())); mock.MediatorMock.Verify(x => x.Publish(It.IsAny <PostTypeUpdatedNotification>(), It.IsAny <CancellationToken>()), Times.Never()); }
public PostController(PostService PostSvc, UserService UserSvc, PostCommentService CommentSvc, PostTypeService TypeSvc) { this.PostSvc = PostSvc; this.UserSvc = UserSvc; this.CommentSvc = CommentSvc; this.TypeSvc = TypeSvc; }
public async void Get_null_record() { var mock = new ServiceMockFacade <IPostTypeRepository>(); mock.RepositoryMock.Setup(x => x.Get(It.IsAny <int>())).Returns(Task.FromResult <PostType>(null)); var service = new PostTypeService(mock.LoggerMock.Object, mock.RepositoryMock.Object, mock.ModelValidatorMockFactory.PostTypeModelValidatorMock.Object, mock.BOLMapperMockFactory.BOLPostTypeMapperMock, mock.DALMapperMockFactory.DALPostTypeMapperMock); ApiPostTypeResponseModel response = await service.Get(default(int)); response.Should().BeNull(); mock.RepositoryMock.Verify(x => x.Get(It.IsAny <int>())); }
public async void PostsByPostTypeId_Not_Exists() { var mock = new ServiceMockFacade <IPostTypeService, IPostTypeRepository>(); mock.RepositoryMock.Setup(x => x.PostsByPostTypeId(default(int), It.IsAny <int>(), It.IsAny <int>())).Returns(Task.FromResult <List <Post> >(new List <Post>())); var service = new PostTypeService(mock.LoggerMock.Object, mock.MediatorMock.Object, mock.RepositoryMock.Object, mock.ModelValidatorMockFactory.PostTypeModelValidatorMock.Object, mock.DALMapperMockFactory.DALPostTypeMapperMock, mock.DALMapperMockFactory.DALPostMapperMock); List <ApiPostServerResponseModel> response = await service.PostsByPostTypeId(default(int)); response.Should().BeEmpty(); mock.RepositoryMock.Verify(x => x.PostsByPostTypeId(default(int), It.IsAny <int>(), It.IsAny <int>())); }
public async void Create() { var mock = new ServiceMockFacade <IPostTypeRepository>(); var model = new ApiPostTypeRequestModel(); mock.RepositoryMock.Setup(x => x.Create(It.IsAny <PostType>())).Returns(Task.FromResult(new PostType())); var service = new PostTypeService(mock.LoggerMock.Object, mock.RepositoryMock.Object, mock.ModelValidatorMockFactory.PostTypeModelValidatorMock.Object, mock.BOLMapperMockFactory.BOLPostTypeMapperMock, mock.DALMapperMockFactory.DALPostTypeMapperMock); CreateResponse <ApiPostTypeResponseModel> response = await service.Create(model); response.Should().NotBeNull(); mock.ModelValidatorMockFactory.PostTypeModelValidatorMock.Verify(x => x.ValidateCreateAsync(It.IsAny <ApiPostTypeRequestModel>())); mock.RepositoryMock.Verify(x => x.Create(It.IsAny <PostType>())); }
public async void All() { var mock = new ServiceMockFacade <IPostTypeRepository>(); var records = new List <PostType>(); records.Add(new PostType()); mock.RepositoryMock.Setup(x => x.All(It.IsAny <int>(), It.IsAny <int>())).Returns(Task.FromResult(records)); var service = new PostTypeService(mock.LoggerMock.Object, mock.RepositoryMock.Object, mock.ModelValidatorMockFactory.PostTypeModelValidatorMock.Object, mock.BOLMapperMockFactory.BOLPostTypeMapperMock, mock.DALMapperMockFactory.DALPostTypeMapperMock); List <ApiPostTypeResponseModel> response = await service.All(); response.Should().HaveCount(1); mock.RepositoryMock.Verify(x => x.All(It.IsAny <int>(), It.IsAny <int>())); }
public async void Delete() { var mock = new ServiceMockFacade <IPostTypeRepository>(); var model = new ApiPostTypeRequestModel(); mock.RepositoryMock.Setup(x => x.Delete(It.IsAny <int>())).Returns(Task.CompletedTask); var service = new PostTypeService(mock.LoggerMock.Object, mock.RepositoryMock.Object, mock.ModelValidatorMockFactory.PostTypeModelValidatorMock.Object, mock.BOLMapperMockFactory.BOLPostTypeMapperMock, mock.DALMapperMockFactory.DALPostTypeMapperMock); ActionResponse response = await service.Delete(default(int)); response.Should().NotBeNull(); mock.RepositoryMock.Verify(x => x.Delete(It.IsAny <int>())); mock.ModelValidatorMockFactory.PostTypeModelValidatorMock.Verify(x => x.ValidateDeleteAsync(It.IsAny <int>())); }
public async void Delete_NoErrorsOccurred_ShouldReturnResponse() { var mock = new ServiceMockFacade <IPostTypeService, IPostTypeRepository>(); var model = new ApiPostTypeServerRequestModel(); mock.RepositoryMock.Setup(x => x.Delete(It.IsAny <int>())).Returns(Task.CompletedTask); var service = new PostTypeService(mock.LoggerMock.Object, mock.MediatorMock.Object, mock.RepositoryMock.Object, mock.ModelValidatorMockFactory.PostTypeModelValidatorMock.Object, mock.DALMapperMockFactory.DALPostTypeMapperMock, mock.DALMapperMockFactory.DALPostMapperMock); ActionResponse response = await service.Delete(default(int)); response.Should().NotBeNull(); response.Success.Should().BeTrue(); mock.RepositoryMock.Verify(x => x.Delete(It.IsAny <int>())); mock.ModelValidatorMockFactory.PostTypeModelValidatorMock.Verify(x => x.ValidateDeleteAsync(It.IsAny <int>())); mock.MediatorMock.Verify(x => x.Publish(It.IsAny <PostTypeDeletedNotification>(), It.IsAny <CancellationToken>())); }
public PostTypeController(PostTypeService TypeSvc) { this.TypeSvc = TypeSvc; }