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);
            }
        }
Пример #2
0
        /// <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());
        }