PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / trunk
GiveWP – Donation Plugin and Fundraising Platform vtrunk
4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 2.32.0 2.33.0 2.33.1 2.33.2 2.33.3 2.33.4 2.33.5 2.4.0 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 2.4.7 2.5.0 2.5.1 2.5.10 2.5.11 2.5.12 2.5.13 2.5.2 2.5.3 2.5.4 2.5.5 2.5.6 2.5.7 2.5.8 2.5.9 2.6.0 2.6.1 2.6.2 2.6.3 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.8.0 2.8.1 2.9.0 2.9.1 2.9.2 2.9.3 2.9.4 2.9.5 2.9.6 2.9.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.10.0 3.11.0 3.12.0 3.12.1 3.12.2 3.12.3 3.13.0 3.14.0 3.14.1 3.14.2 3.15.0 3.15.1 3.16.0 3.16.1 3.16.2 3.16.3 3.16.4 3.16.5 3.17.0 3.17.1 3.17.2 3.18.0 3.19.0 3.19.1 3.19.2 3.19.3 3.19.4 3.2.0 3.2.1 3.2.2 3.20.0 3.21.0 3.21.1 3.22.0 3.22.1 3.22.2 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.5.1 3.6.0 3.6.1 3.6.2 3.7.0 3.8.0 3.9.0 4.0.0 4.1.0 4.1.1 4.10.0 4.10.1 4.11.0 4.12.0 4.13.0 4.13.1 4.13.2 4.14.0 4.14.1 4.14.2 4.14.3 4.14.4 4.14.5 4.14.6 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.1 4.7.0 4.7.1 4.8.0 4.8.1 4.9.0 trunk 1.9.0 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.10.0 2.10.1 2.10.2 2.10.3 2.10.4 2.11.0 2.11.1 2.11.2 2.11.3 2.12.0 2.12.1 2.12.2 2.12.3 2.13.0 2.13.1 2.13.2 2.13.3 2.13.4 2.14.0 2.15.0 2.16.0 2.16.1 2.17.0 2.17.1 2.17.3 2.18.0 2.18.1 2.19.1 2.19.2 2.19.3 2.19.4 2.19.5 2.19.6 2.19.7 2.19.8 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.2.5 2.2.6 2.20.0 2.20.1 2.20.2 2.21.0 2.21.1 2.21.2 2.21.3 2.21.4 2.22.0 2.22.1 2.22.2 2.22.3 2.23.0 2.23.1 2.23.2 2.24.0 2.24.1 2.24.2 2.25.0 2.25.1 2.25.2 2.25.3 2.26.0 2.27.0 2.27.1 2.27.2 2.27.3 2.28.0 2.29.0 2.29.1 2.29.2
give / src / TestData / Factories / DonationFormFactory.php
give / src / TestData / Factories Last commit date
DonationFactory.php 4 years ago DonationFormFactory.php 4 years ago DonorFactory.php 4 years ago LogFactory.php 4 years ago PageFactory.php 4 years ago RevenueFactory.php 4 years ago
DonationFormFactory.php
142 lines
1 <?php
2
3 namespace Give\TestData\Factories;
4
5 use Give\TestData\Framework\Factory;
6
7 /**
8 * Class DonationFormFactory
9 * @package Give\TestData\Factories
10 */
11 class DonationFormFactory extends Factory
12 {
13
14 /**
15 * @var bool
16 */
17 private $donationGoal;
18
19 /**
20 * @var bool
21 */
22 private $termsAndConditions;
23
24 /**
25 * @var string
26 */
27 private $template;
28
29 /**
30 * @var string[]
31 */
32 private $templates = ['sequoia', 'legacy'];
33
34 /**
35 * @param string $template
36 *
37 * @return bool
38 */
39 public function checkFormTemplate($template)
40 {
41 if ('random' === $template) {
42 return true;
43 }
44
45 return in_array($template, $this->templates);
46 }
47
48 /**
49 * @param string $template
50 */
51 public function setFormTemplate($template)
52 {
53 $this->template = $template;
54 }
55
56 /**
57 * @return string
58 */
59 public function getFormTemplate()
60 {
61 if ('random' === $this->template) {
62 return $this->randomDonationTemplate();
63 }
64
65 return $this->template;
66 }
67
68 /**
69 * @return string
70 */
71 public function randomDonationTemplate()
72 {
73 return $this->faker->randomElement($this->templates);
74 }
75
76 /**
77 * @param bool $generate
78 */
79 public function setDonationFormGoal($generate)
80 {
81 $this->donationGoal = (bool)$generate;
82 }
83
84 /**
85 * @return false|string
86 */
87 public function getDonationGoal()
88 {
89 if (is_null($this->donationGoal) || ! $this->donationGoal) {
90 return false;
91 }
92
93 return $this->randomGoal();
94 }
95
96 /**
97 * @param bool $generate
98 */
99 public function setTermsAndConditions($generate)
100 {
101 $this->termsAndConditions = (bool)$generate;
102 }
103
104 /**
105 * @return array
106 */
107 public function getTermsAndConditions()
108 {
109 if (is_null($this->termsAndConditions) || ! $this->termsAndConditions) {
110 return [];
111 }
112
113 return [
114 'label' => $this->faker->catchPhrase(),
115 'text' => $this->faker->text(),
116 ];
117 }
118
119 /**
120 * Donor definition
121 *
122 * @since 1.0.0
123 * @return array
124 */
125 public function definition()
126 {
127 $title = $this->faker->catchPhrase();
128
129 return [
130 'post_title' => $title,
131 'post_name' => sanitize_title($title),
132 'post_author' => $this->randomAuthor(),
133 'post_date' => date('Y-m-d H:i:s'),
134 'donation_goal' => $this->getDonationGoal(),
135 'donation_terms' => $this->getTermsAndConditions(),
136 'form_template' => $this->getFormTemplate(),
137 'random_amount' => $this->randomAmount(),
138 ];
139 }
140
141 }
142