public async void GetByIdAsync_ThrowsEntityNotFoundException()
        {
            var repositoryMock = new Mock <ICrudRepository>();

            repositoryMock.Setup(_ => _.GetByIdAsync <Guid, TestEntity>(It.IsAny <Guid>())).ReturnsAsync(default(TestEntity));
            var service = new CrudServiceBase <Guid, TestEntity>(repositoryMock.Object);

            await Assert.ThrowsAsync <EntityNotFoundException>(() => service.GetByIdAsync(Guid.Empty));
        }
        public async void GetByIdAsync_ReturnOneElement()
        {
            var repositoryMock = new Mock <ICrudRepository>();

            repositoryMock.Setup(_ => _.GetByIdAsync <Guid, TestEntity>(It.IsAny <Guid>())).ReturnsAsync(_entity);
            var service = new CrudServiceBase <Guid, TestEntity>(repositoryMock.Object);

            var result = await service.GetByIdAsync(Guid.Empty);

            Assert.Equal(result.Id, _entity.Id);
            repositoryMock.Verify(_ => _.GetByIdAsync <Guid, TestEntity>(It.IsAny <Guid>()), Times.Once);
        }
        public async void GetAllAsync_ReturnElements()
        {
            var repositoryMock = new Mock <ICrudRepository>();

            repositoryMock.Setup(_ => _.GetAllAsync <Guid, TestEntity>()).ReturnsAsync(_entities);
            var service = new CrudServiceBase <Guid, TestEntity>(repositoryMock.Object);

            var result = await service.GetAllAsync();

            Assert.Equal(result.Count(), _entities.Count());
            repositoryMock.Verify(_ => _.GetAllAsync <Guid, TestEntity>(), Times.Once);
        }
        public async void UpdateAsync_ReturnsUpdatedElement()
        {
            var repositoryMock = new Mock <ICrudRepository>();

            repositoryMock.Setup(_ => _.GetByIdAsync <Guid, TestEntity>(_entity.Id)).ReturnsAsync(_entity);
            var service = new CrudServiceBase <Guid, TestEntity>(repositoryMock.Object);

            var result = await service.UpdateAsync(_entity.Id, _entity);

            Assert.Equal(_entity.Id, result.Id);
            repositoryMock.Verify(_ => _.GetByIdAsync <Guid, TestEntity>(It.IsAny <Guid>()), Times.Once());
            repositoryMock.Verify(_ => _.SaveChangesAsync(), Times.Once);
        }
        public void Constructor_SetAutoCommitToTrue()
        {
            var service = new CrudServiceBase <Guid, TestEntity>(null);

            Assert.True(service.AutoCommit);
        }
Exemple #6
0
 public CustomImplementedCrudService(CrudServiceBase <T1, T2> service,
                                     ILogger <CustomImplementedCrudService <T1, T2> > logger)
 {
     _service = service;
     logger.LogInformation($"In custom service layer for {typeof(T2).Name}");
 }