Beispiel #1
0
        public async Task RemoveAsync_ShouldCallCommandService_WhenIdIsGiven()
        {
            // Arrange
            const int id = 42;

            _mockCommandService
            .Setup(i => i.RemoveAsync(id))
            .Returns(TaskHelpers.CompletedTask);

            var subject = new ComposedAsyncRepository <FakeEntity <int>, int>(_mockQueryService.Object, _mockCommandService.Object);

            // Act
            await subject.RemoveAsync(id).ConfigureAwait(false);

            // Assert
            _mockQueryService.VerifyAll();
            _mockCommandService.VerifyAll();
        }
Beispiel #2
0
        public async Task GetAllAsync_ShouldCallQueryService_AndReturnResult()
        {
            // Arrange
            var data = Enumerable.Empty <FakeEntity <int> >();

            _mockQueryService
            .Setup(i => i.GetAllAsync())
            .ReturnsAsync(data);

            var subject = new ComposedAsyncRepository <FakeEntity <int>, int>(_mockQueryService.Object, _mockCommandService.Object);

            // Act
            var result = await subject.GetAllAsync().ConfigureAwait(false);

            // Assert
            result.Should().BeSameAs(data);

            _mockQueryService.VerifyAll();
            _mockCommandService.VerifyAll();
        }
Beispiel #3
0
        public async Task GetCountAsync_ShouldCallQueryService_AndReturnResult()
        {
            // Arrange
            const long count = 38;

            _mockQueryService
            .Setup(i => i.GetCountAsync())
            .ReturnsAsync(count);

            var subject = new ComposedAsyncRepository <FakeEntity <int>, int>(_mockQueryService.Object, _mockCommandService.Object);

            // Act
            var result = await subject.GetCountAsync().ConfigureAwait(false);

            // Assert
            result.Should().Be(count);

            _mockQueryService.VerifyAll();
            _mockCommandService.VerifyAll();
        }
Beispiel #4
0
        public async Task TryRemoveAsync_ShouldCallCommandService_AndReturnResult_WhenIdIsGiven(bool expected)
        {
            // Arrange
            const int id = 42;

            _mockCommandService
            .Setup(i => i.TryRemoveAsync(id))
            .ReturnsAsync(expected);

            var subject = new ComposedAsyncRepository <FakeEntity <int>, int>(_mockQueryService.Object, _mockCommandService.Object);

            // Act
            var success = await subject.TryRemoveAsync(id).ConfigureAwait(false);

            // Assert
            success.Should().Be(expected);

            _mockQueryService.VerifyAll();
            _mockCommandService.VerifyAll();
        }
Beispiel #5
0
        public async Task UpdateAsync_ShouldCallCommandService()
        {
            // Arrange
            var entity = new FakeEntity <int> {
                Id = 42
            };

            _mockCommandService
            .Setup(i => i.UpdateAsync(entity))
            .Returns(TaskHelpers.CompletedTask);

            var subject = new ComposedAsyncRepository <FakeEntity <int>, int>(_mockQueryService.Object, _mockCommandService.Object);

            // Act
            await subject.UpdateAsync(entity).ConfigureAwait(false);

            // Assert
            _mockQueryService.VerifyAll();
            _mockCommandService.VerifyAll();
        }
Beispiel #6
0
        public async Task TryGetByIdAsync_ShouldCallQueryService_AndReturnNull_WhenEntityIsNotFound()
        {
            // Arrange
            const int id = 42;

            _mockQueryService
            .Setup(i => i.TryGetByIdAsync(id))
            .ReturnsAsync((FakeEntity <int>)null);

            var subject = new ComposedAsyncRepository <FakeEntity <int>, int>(_mockQueryService.Object, _mockCommandService.Object);

            // Act
            var result = await subject.TryGetByIdAsync(id).ConfigureAwait(false);

            // Assert
            result.Should().BeNull();

            _mockQueryService.VerifyAll();
            _mockCommandService.VerifyAll();
        }
Beispiel #7
0
        public async Task GetByIdAsync_ShouldCallQueryService_AndReturnResult()
        {
            // Arrange
            var entity = new FakeEntity <int> {
                Id = 42
            };

            _mockQueryService
            .Setup(i => i.GetByIdAsync(entity.Id))
            .ReturnsAsync(entity);

            var subject = new ComposedAsyncRepository <FakeEntity <int>, int>(_mockQueryService.Object, _mockCommandService.Object);

            // Act
            var result = await subject.GetByIdAsync(entity.Id).ConfigureAwait(false);

            // Assert
            result.Should().BeSameAs(entity);

            _mockQueryService.VerifyAll();
            _mockCommandService.VerifyAll();
        }
Beispiel #8
0
        public async Task TryUpdateAsync_ShouldCallCommandService_AndReturnResult(bool expected)
        {
            // Arrange
            var entity = new FakeEntity <int> {
                Id = 42
            };

            _mockCommandService
            .Setup(i => i.TryUpdateAsync(entity))
            .ReturnsAsync(expected);

            var subject = new ComposedAsyncRepository <FakeEntity <int>, int>(_mockQueryService.Object, _mockCommandService.Object);

            // Act
            var success = await subject.TryUpdateAsync(entity).ConfigureAwait(false);

            // Assert
            success.Should().Be(expected);

            _mockQueryService.VerifyAll();
            _mockCommandService.VerifyAll();
        }