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); }
public CustomImplementedCrudService(CrudServiceBase <T1, T2> service, ILogger <CustomImplementedCrudService <T1, T2> > logger) { _service = service; logger.LogInformation($"In custom service layer for {typeof(T2).Name}"); }