Completed
Branch BUG-10738-inconsistency-in-ses... (8f6fbc)
by
unknown
74:03 queued 63:31
created

Checkout::selectPaymentOptionFor()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 10
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 6
nc 2
nop 2
dl 0
loc 10
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
namespace EventEspresso\Codeception\helpers;
4
5
use Page\Checkout as CheckoutPage;
6
7
8
/**
9
 * Trait Checkout
10
 * Helper actions for the checkout process (SPCO).
11
 *
12
 * @package EventEspresso\Codeception\helpers
13
 */
14
trait Checkout
15
{
16
    /**
17
     * @param     $value
18
     * @param int $attendee_number
19
     */
20
    public function fillOutFirstNameFieldForAttendee($value, $attendee_number = 1)
21
    {
22
        $this->actor()->fillField(CheckoutPage::firstNameFieldSelectorForAttendeeNumber($attendee_number), $value);
0 ignored issues
show
Bug introduced by
It seems like actor() must be provided by classes using this trait. How about adding it as abstract method to this trait?

This check looks for methods that are used by a trait but not required by it.

To illustrate, let’s look at the following code example

trait Idable {
    public function equalIds(Idable $other) {
        return $this->getId() === $other->getId();
    }
}

The trait Idable provides a method equalsId that in turn relies on the method getId(). If this method does not exist on a class mixing in this trait, the method will fail.

Adding the getId() as an abstract method to the trait will make sure it is available.

Loading history...
23
    }
24
25
    /**
26
     * @param     $value
27
     * @param int $attendee_number
28
     */
29
    public function fillOutLastNameFieldForAttendee($value, $attendee_number = 1)
30
    {
31
        $this->actor()->fillField(CheckoutPage::lastNameFieldSelectorForAttendeeNumber($attendee_number), $value);
0 ignored issues
show
Bug introduced by
It seems like actor() must be provided by classes using this trait. How about adding it as abstract method to this trait?

This check looks for methods that are used by a trait but not required by it.

To illustrate, let’s look at the following code example

trait Idable {
    public function equalIds(Idable $other) {
        return $this->getId() === $other->getId();
    }
}

The trait Idable provides a method equalsId that in turn relies on the method getId(). If this method does not exist on a class mixing in this trait, the method will fail.

Adding the getId() as an abstract method to the trait will make sure it is available.

Loading history...
32
    }
33
34
    /**
35
     * @param     $value
36
     * @param int $attendee_number
37
     */
38
    public function fillOutEmailFieldForAttendee($value, $attendee_number = 1)
39
    {
40
        $this->actor()->fillField(CheckoutPage::emailFieldSelectorForAttendeeNumber($attendee_number), $value);
0 ignored issues
show
Bug introduced by
It seems like actor() must be provided by classes using this trait. How about adding it as abstract method to this trait?

This check looks for methods that are used by a trait but not required by it.

To illustrate, let’s look at the following code example

trait Idable {
    public function equalIds(Idable $other) {
        return $this->getId() === $other->getId();
    }
}

The trait Idable provides a method equalsId that in turn relies on the method getId(). If this method does not exist on a class mixing in this trait, the method will fail.

Adding the getId() as an abstract method to the trait will make sure it is available.

Loading history...
41
    }
42
43
44
    /**
45
     * Clicks the next registration step button.
46
     */
47
    public function goToNextRegistrationStep()
48
    {
49
        $this->actor()->click(CheckoutPage::NEXT_STEP_BUTTON_SELECTOR);
0 ignored issues
show
Bug introduced by
It seems like actor() must be provided by classes using this trait. How about adding it as abstract method to this trait?

This check looks for methods that are used by a trait but not required by it.

To illustrate, let’s look at the following code example

trait Idable {
    public function equalIds(Idable $other) {
        return $this->getId() === $other->getId();
    }
}

The trait Idable provides a method equalsId that in turn relies on the method getId(). If this method does not exist on a class mixing in this trait, the method will fail.

Adding the getId() as an abstract method to the trait will make sure it is available.

Loading history...
50
    }
51
52
53
    /**
54
     * Selects the payment option for the given payment method slug.
55
     *
56
     * @param string $payment_method_slug
57
     * @param bool   $verify_selected      If true, this will wait for the "Important Information" info box after the
58
     *                                     payment option select box is complete.  Otherwise its up to calling code to
59
     *                                     wait for whatever is needed after selecting the payment method.
60
     */
61
    public function selectPaymentOptionFor($payment_method_slug = 'invoice', $verify_selected = true)
62
    {
63
        $this->actor()->selectOption(
0 ignored issues
show
Bug introduced by
It seems like actor() must be provided by classes using this trait. How about adding it as abstract method to this trait?

This check looks for methods that are used by a trait but not required by it.

To illustrate, let’s look at the following code example

trait Idable {
    public function equalIds(Idable $other) {
        return $this->getId() === $other->getId();
    }
}

The trait Idable provides a method equalsId that in turn relies on the method getId(). If this method does not exist on a class mixing in this trait, the method will fail.

Adding the getId() as an abstract method to the trait will make sure it is available.

Loading history...
64
            CheckoutPage::PAYMENT_METHOD_STEP_FORM,
65
            $payment_method_slug
66
        );
67
        if ($verify_selected) {
68
            $this->actor()->waitForText('Important information regarding your payment');
0 ignored issues
show
Bug introduced by
It seems like actor() must be provided by classes using this trait. How about adding it as abstract method to this trait?

This check looks for methods that are used by a trait but not required by it.

To illustrate, let’s look at the following code example

trait Idable {
    public function equalIds(Idable $other) {
        return $this->getId() === $other->getId();
    }
}

The trait Idable provides a method equalsId that in turn relies on the method getId(). If this method does not exist on a class mixing in this trait, the method will fail.

Adding the getId() as an abstract method to the trait will make sure it is available.

Loading history...
69
        }
70
    }
71
72
73
    /**
74
     * Submits the payment options step form.
75
     * Assumes the actor is in the context of the payment options SPCO step.
76
     */
77
    public function submitPaymentOptionsRegistrationStepForm()
78
    {
79
        $this->actor()->submitForm(CheckoutPage::PAYMENT_METHOD_STEP_FORM, array());
0 ignored issues
show
Bug introduced by
It seems like actor() must be provided by classes using this trait. How about adding it as abstract method to this trait?

This check looks for methods that are used by a trait but not required by it.

To illustrate, let’s look at the following code example

trait Idable {
    public function equalIds(Idable $other) {
        return $this->getId() === $other->getId();
    }
}

The trait Idable provides a method equalsId that in turn relies on the method getId(). If this method does not exist on a class mixing in this trait, the method will fail.

Adding the getId() as an abstract method to the trait will make sure it is available.

Loading history...
80
    }
81
82
}