private void RunTest(CardAndPhoneUsage policyValue, bool expectedValid, string card, string phone) { var protocolSettings = ProtocolSettings.CreateEmpty(); protocolSettings.CardAndPhoneUsage = policyValue; var sampleRequest = new ConfirmPurchaseRequest { PosId = "12345", CardNumber = card, PhoneNumber = phone, Transactions = { "12345" }, }; var isValid = new LikePharmaValidator(protocolSettings).TryValidateObject(sampleRequest, out var results); if (expectedValid) { Assert.True(isValid); Assert.Empty(results); } else { Assert.False(isValid); Assert.Single(results); } }
/// <summary> /// Конструктор по умолчанию. /// </summary> /// <param name="next">Следующий <see cref="RequestDelegate"/> в цепочке (будет проигнорирован!).</param> /// <param name="options">Параметры работы.</param> /// <param name="logger">Экземпляр логгера.</param> #pragma warning disable CA1801 // Can't unused parameter 'next' - required by ASP.NET Core! public LikePharmaMiddleware(RequestDelegate next, LikePharmaMiddlewareOptions options, ILogger <LikePharmaMiddleware <TUser> > logger) { this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); this.options = options ?? throw new ArgumentNullException(nameof(options)); this.validator = new LikePharmaValidator(options.ProtocolSettings ?? ProtocolSettings.CreateEmpty()); }