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); }
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); }