Example #1
0
        public async Task CompletesSchemaProgressWhenValidCode()
        {
            var progress = new SchemaProgress
            {
                CustomerId = "customer",
                SchemaId   = 1,
                Progress   = 6
            };

            var shopId           = 1;
            var code             = Guid.NewGuid().ToString();
            var validationResult = new RedemptionValidationResult {
                Success = true, UserId = "customer", ProgressId = 1
            };
            var date = DateTime.Now;

            _codeMock.Setup(x => x.ValidateRedemptionCode(shopId, code)).ReturnsAsync(validationResult);
            _userMock.Setup(x => x.GetProgressAsync("customer", 1)).ReturnsAsync(progress);
            _dateMock.Setup(x => x.Now).Returns(date);

            var result = await _handler.Handle(Command(shopId, code), CancellationToken.None);

            False(result.Error);
            True(progress.Completed);
            Equal(date, progress.CompletedOn);
        }
Example #2
0
        public async Task ThrowsWhenCodeInvalid()
        {
            var shopId           = 1;
            var code             = Guid.NewGuid().ToString();
            var validationResult = new RedemptionValidationResult {
                Success = false
            };

            _codeMock.Setup(x => x.ValidateRedemptionCode(shopId, code)).ReturnsAsync(validationResult);

            var response = await _handler.Handle(Command(shopId, code), CancellationToken.None);

            True(response.Error);
        }