Passed
Push — master ( 130efd...07ae2e )
by Mykolas
02:12
created

MockedPayseraGatewayFactory   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 34
Duplicated Lines 0 %

Test Coverage

Coverage 0%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 2
eloc 22
c 1
b 0
f 0
dl 0
loc 34
ccs 0
cts 25
cp 0
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A populateConfig() 0 29 2
1
<?php
2
3
namespace PTS\Paysera;
4
5
use PTS\Paysera\Action\AuthorizeAction;
6
use PTS\Paysera\Action\CancelAction;
7
use PTS\Paysera\Action\ConvertPaymentAction;
8
use PTS\Paysera\Action\CaptureAction;
9
use PTS\Paysera\Action\NotifyAction;
10
use PTS\Paysera\Action\RefundAction;
11
use PTS\Paysera\Action\StatusAction;
12
use Payum\Core\Bridge\Spl\ArrayObject;
13
use Payum\Core\GatewayFactory;
14
15
class MockedPayseraGatewayFactory extends GatewayFactory
16
{
17
    /**
18
     * {@inheritDoc}
19
     */
20
    protected function populateConfig(ArrayObject $config)
21
    {
22
        $config->defaults([
23
            'payum.factory_name' => 'paysera',
24
            'payum.factory_title' => 'paysera',
25
            'payum.action.capture' => new CaptureAction($mocked = true),
26
            'payum.action.authorize' => new AuthorizeAction(),
27
            'payum.action.refund' => new RefundAction(),
28
            'payum.action.cancel' => new CancelAction(),
29
            'payum.action.notify' => new NotifyAction($mocked = true),
30
            'payum.action.status' => new StatusAction(),
31
            'payum.action.convert_payment' => new ConvertPaymentAction(),
32
        ]);
33
34
        if (false == $config['payum.api']) {
35
            $config['payum.default_options'] = array(
36
                'projectid' => '',
37
                'sign_password' => '',
38
                'test' => true,
39
            );
40
            $config->defaults($config['payum.default_options']);
41
            $config['payum.required_options'] = [
42
                'projectid', 'sign_password'
43
            ];
44
45
            $config['payum.api'] = function (ArrayObject $config) {
46
                $config->validateNotEmpty($config['payum.required_options']);
47
48
                return new MockedApi((array)$config);
49
            };
50
        }
51
    }
52
}
53