Completed
Branch dependabot/npm_and_yarn/wordpr... (f74273)
by
unknown
24:46 queued 16:32
created

firstNameFieldSelectorForAttendeeNumber()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 2
dl 0
loc 4
rs 10
c 0
b 0
f 0
1
<?php
2
namespace Page;
3
4
5
/**
6
 * Checkout
7
 * Selectors/references for elements related to the checkout.
8
 *
9
 * @package Page
10
 * @author  Darren Ethier
11
 * @since   1.0.0
12
 */
13
class Checkout
14
{
15
16
    /**
17
     * The class selector for the next step button in the checkout.
18
     * @var string
19
     */
20
    const NEXT_STEP_BUTTON_SELECTOR = '.spco-next-step-btn';
21
22
23
    const PAYMENT_METHOD_STEP_FORM = '#ee-spco-payment_options-reg-step-form';
24
25
26
    const SELECTOR_PAYMENT_OPTIONS_CONTAINER = '#spco-available-methods-of-payment-dv';
27
28
29
    /**
30
     * @param int $attendee_number
31
     * @param bool  $admin  Used to indicate whether we're retrieving the selector from the context of the admin or not.
32
     * @return string
33
     */
34
    public static function firstNameFieldSelectorForAttendeeNumber($attendee_number = 1, $admin = false)
35
    {
36
        return self::fieldSelectorForAttendeeNumber('fname', $attendee_number, $admin);
37
    }
38
39
40
    /**
41
     * @param int $attendee_number
42
     * @param bool  $admin  Used to indicate whether we're retrieving the selector from the context of the admin or not.
43
     * @return string
44
     */
45
    public static function lastNameFieldSelectorForAttendeeNumber($attendee_number = 1, $admin = false)
46
    {
47
        return self::fieldSelectorForAttendeeNumber('lname', $attendee_number, $admin);
48
    }
49
50
51
    /**
52
     * @param int $attendee_number
53
     * @param bool  $admin  Used to indicate whether we're retrieving the selector from the context of the admin or not.
54
     * @return string
55
     */
56
    public static function emailFieldSelectorForAttendeeNumber($attendee_number = 1, $admin = false)
57
    {
58
        return self::fieldSelectorForAttendeeNumber('email', $attendee_number, $admin);
59
    }
60
61
    /**
62
     * @param string    $field_name
63
     * @param int $attendee_number
64
     * @param bool  $admin  Used to indicate whether we're retrieving the selector from the context of the admin or not.
65
     * @return string
66
     */
67
    public static function fieldSelectorForAttendeeNumber($field_name, $attendee_number = 1, $admin = false)
68
    {
69
        return $admin
70
                ? "//fieldset[starts-with(@id, 'ee-registration-$attendee_number')]//input[contains(@class, 'ee-reg-qstn-$field_name')]"
71
                : "//div[starts-with(@id, 'spco-attendee-panel-dv-$attendee_number')]//input[contains(@class, 'ee-reg-qstn-$field_name')]";
72
    }
73
74
75
    /**
76
     * @param string $payment_method_slug Slug for the payment method.
77
     * @return string
78
     */
79
    public static function fieldSelectorForPaymentOption($payment_method_slug)
80
    {
81
        return "#ee-available-payment-method-inputs-{$payment_method_slug}";
82
    }
83
}
84