Completed
Pull Request — master (#16)
by Sergii
58:26 queued 08:18
created

DatePickerBase   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 48
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

Changes 0
Metric Value
wmc 2
lcom 1
cbo 2
dl 0
loc 48
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 9 1
A jQuery() 0 4 1
initialize() 0 1 ?
1
<?php
2
/**
3
 * @author Sergii Bondarenko, <[email protected]>
4
 */
5
namespace Drupal\TqExtension\Utils\DatePicker;
6
7
// Contexts.
8
use Drupal\TqExtension\Context\RawTqContext;
9
// Helpers.
10
use Behat\Mink\Session;
11
use Behat\Mink\Element\NodeElement;
12
use Behat\DebugExtension\Debugger;
13
14
abstract class DatePickerBase implements DatePickerInterface
15
{
16
    use Debugger;
17
18
    /**
19
     * @var RawTqContext
20
     */
21
    protected $context;
22
    /**
23
     * @var NodeElement
24
     */
25
    protected $element;
26
    /**
27
     * @var Session
28
     */
29
    protected $session;
30
    /**
31
     * @var string
32
     */
33
    protected $date = '';
34
35
    /**
36
     * @param RawTqContext $context
37
     *   Behat context.
38
     * @param Session $session
39
     *   Behat session.
40
     * @param NodeElement $element
41
     *   Element selector.
42
     * @param string $date
43
     *   Human-readable date.
44
     */
45
    public function __construct(RawTqContext $context, Session $session, NodeElement $element, $date)
46
    {
47
        $this->context = $context;
48
        $this->session = $session;
49
        $this->element = $element;
50
        $this->date = $date;
51
52
        $this->initialize();
53
    }
54
55
    protected function jQuery($script)
56
    {
57
        return $this->context->executeJsOnElement($this->element, "return jQuery({{ELEMENT}}).$script");
58
    }
59
60
    abstract public function initialize();
61
}
62