Example #1
0
        public async Task ShouldIncreaseCompletionCount_WhenValidGuidInConditionCompletionObjectIsPassed()
        {
            // Arrange
            var conditionCompletionId             = Guid.NewGuid().ToString("D");
            var emptyData                         = new Dictionary <string, string>();
            var conditionCompletionRepositoryMock = new Mock <IConditionCompletionRepository>(MockBehavior.Strict);

            var conditionCompletion = new ConditionCompletion
            {
                Id = conditionCompletionId
            };

            conditionCompletionRepositoryMock
            .Setup(c => c.IncreaseCompletionCountAsync(Guid.Parse(conditionCompletionId), emptyData, 1))
            .Returns(Task.CompletedTask);

            conditionCompletionRepositoryMock
            .Setup(c => c.GetConditionCompletion(Guid.Parse(conditionCompletionId)))
            .ReturnsAsync(conditionCompletion);

            var service = new ConditionCompletionService(conditionCompletionRepositoryMock.Object);

            // Act
            await service.IncreaseCompletionCountAsync(conditionCompletion, emptyData, 1);

            // Assert
            conditionCompletionRepositoryMock.Verify(c => c.IncreaseCompletionCountAsync(Guid.Parse(conditionCompletionId), emptyData, 1), Times.Once);
            conditionCompletionRepositoryMock.Verify(c => c.GetConditionCompletion(Guid.Parse(conditionCompletionId)), Times.Once);
        }
Example #2
0
        public async Task ShouldThrowArgumentException_WhenInvalidGuidInConditionCompletionObjectIsPassed()
        {
            // Arrange
            var conditionCompletionId             = "Not a valid guid";
            var emptyData                         = new Dictionary <string, string>();
            var conditionCompletionRepositoryMock = new Mock <IConditionCompletionRepository>(MockBehavior.Strict);

            var conditionCompletion = new ConditionCompletion
            {
                Id = conditionCompletionId
            };

            var service = new ConditionCompletionService(conditionCompletionRepositoryMock.Object);

            // Act

            // Assert
            await Assert.ThrowsAsync <ArgumentException>(async() =>
            {
                await service.IncreaseCompletionCountAsync(conditionCompletion, emptyData, 1);
            });
        }