コード例 #1
0
        public void Can_activate_paymentGatewaySettings()
        {
            var brand = Container.Resolve <BrandTestHelper>().CreateBrand(isActive: true);

            // Arrange
            var repositorySettings = new PaymentGatewaySettings
            {
                Id      = new Guid("50797305-5320-4086-BA1C-9D062DDF53D9"),
                BrandId = brand.Id
            };

            _paymentRepository.PaymentGatewaySettings.Add(repositorySettings);

            // Act
            _commands.Activate(new ActivatePaymentGatewaySettingsData
            {
                Id      = repositorySettings.Id,
                Remarks = "remark"
            });

            //Assert
            var settings = _paymentRepository.PaymentGatewaySettings.Single(x => x.Id == repositorySettings.Id);

            settings.Status.Should().Be(Status.Active);
            settings.ActivatedBy.ShouldBeEquivalentTo(_actorInfoProvider.Actor.UserName);
            settings.DateActivated.Should().BeCloseTo(DateTime.Now, 5000);
        }
コード例 #2
0
        public PaymentGatewaySettings CreatePaymentGatewaySettings(Guid brandId, bool enable      = true,
                                                                   string onlinePaymentMethodName = "", string paymentGatewayName = "XPAY", int channel = -1,
                                                                   string entryPoint = "http://domain.com", string remarks        = "some remarks")
        {
            if (string.IsNullOrEmpty(onlinePaymentMethodName))
            {
                onlinePaymentMethodName = TestDataGenerator.GetRandomString(50);
            }
            if (channel == -1)
            {
                channel = TestDataGenerator.GetRandomNumber(99999, 1);
            }
            var model = new SavePaymentGatewaysSettingsData
            {
                Brand = brandId,
                OnlinePaymentMethodName = onlinePaymentMethodName,
                Channel            = channel,
                PaymentGatewayName = paymentGatewayName,
                EntryPoint         = entryPoint,
                Remarks            = remarks
            };

            var result = _paymentGatewaySettingsCommands.Add(model);

            var ps =
                _paymentRepository.PaymentGatewaySettings
                .Single(x => x.Id == result.PaymentGatewaySettingsId);

            if (enable)
            {
                _paymentGatewaySettingsCommands.Activate(
                    new ActivatePaymentGatewaySettingsData
                {
                    Id      = ps.Id,
                    Remarks = "remark"
                });
            }

            return(ps);
        }
コード例 #3
0
        public ActivatePaymentGatewaySettingsResponse Activate(ActivatePaymentGatewaySettingsRequest request)
        {
            VerifyPermission(Permissions.Activate, Modules.PaymentGatewaySettings);

            var model = Mapper.DynamicMap <Core.Payment.Interface.Data.Commands.ActivatePaymentGatewaySettingsData>(request);

            var validatResult = _paymentGatewaySettingsCommands.ValidateThatPaymentGatewaySettingsCanBeActivated(model);

            if (false == validatResult.IsValid)
            {
                return(ValidationErrorResponse <ActivatePaymentGatewaySettingsResponse>(validatResult));
            }

            var setting = _paymentGatewaySettingsQueries.GetPaymentGatewaySettingsById(request.Id);

            CheckBrand(setting.BrandId);

            _paymentGatewaySettingsCommands.Activate(model);
            return(new ActivatePaymentGatewaySettingsResponse
            {
                Success = true
            });
        }