PluginProbe ʕ •ᴥ•ʔ
GiveWP – Donation Plugin and Fundraising Platform / 2.10.0
GiveWP – Donation Plugin and Fundraising Platform v2.10.0
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 5 years ago DonationFormFactory.php 5 years ago DonorFactory.php 5 years ago LogFactory.php 5 years ago PageFactory.php 5 years ago RevenueFactory.php 5 years ago
DonationFormFactory.php
133 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 * @var bool
15 */
16 private $donationGoal;
17
18 /**
19 * @var bool
20 */
21 private $termsAndConditions;
22
23 /**
24 * @var string
25 */
26 private $template;
27
28 /**
29 * @var string[]
30 */
31 private $templates = [ 'sequoia', 'legacy' ];
32
33 /**
34 * @param string $template
35 *
36 * @return bool
37 */
38 public function checkFormTemplate( $template ) {
39 if ( 'random' === $template ) {
40 return true;
41 }
42
43 return in_array( $template, $this->templates );
44 }
45
46 /**
47 * @param string $template
48 */
49 public function setFormTemplate( $template ) {
50 $this->template = $template;
51 }
52
53 /**
54 * @return string
55 */
56 public function getFormTemplate() {
57 if ( 'random' === $this->template ) {
58 return $this->randomDonationTemplate();
59 }
60
61 return $this->template;
62 }
63
64 /**
65 * @return string
66 */
67 public function randomDonationTemplate() {
68 return $this->faker->randomElement( $this->templates );
69 }
70
71 /**
72 * @param bool $generate
73 */
74 public function setDonationFormGoal( $generate ) {
75 $this->donationGoal = (bool) $generate;
76 }
77
78 /**
79 * @return false|string
80 */
81 public function getDonationGoal() {
82 if ( is_null( $this->donationGoal ) || ! $this->donationGoal ) {
83 return false;
84 }
85
86 return $this->randomGoal();
87 }
88
89 /**
90 * @param bool $generate
91 */
92 public function setTermsAndConditions( $generate ) {
93 $this->termsAndConditions = (bool) $generate;
94 }
95
96
97 /**
98 * @return array
99 */
100 public function getTermsAndConditions() {
101 if ( is_null( $this->termsAndConditions ) || ! $this->termsAndConditions ) {
102 return [];
103 }
104
105 return [
106 'label' => $this->faker->catchPhrase(),
107 'text' => $this->faker->text(),
108 ];
109 }
110
111 /**
112 * Donor definition
113 *
114 * @return array
115 * @since 1.0.0
116 */
117 public function definition() {
118 $title = $this->faker->catchPhrase();
119
120 return [
121 'post_title' => $title,
122 'post_name' => sanitize_title( $title ),
123 'post_author' => $this->randomAuthor(),
124 'post_date' => date( 'Y-m-d H:i:s' ),
125 'donation_goal' => $this->getDonationGoal(),
126 'donation_terms' => $this->getTermsAndConditions(),
127 'form_template' => $this->getFormTemplate(),
128 'random_amount' => $this->randomAmount(),
129 ];
130 }
131
132 }
133