Merge pull request #23646 from seamuslee001/improve_get_coordinates
[civicrm-core.git] / tests / phpunit / CRM / Contribute / BAO / ProductTest.php
1 <?php
2 /*
3 +--------------------------------------------------------------------+
4 | Copyright CiviCRM LLC. All rights reserved. |
5 | |
6 | This work is published under the GNU AGPLv3 license with some |
7 | permitted exceptions and without any warranty. For full license |
8 | and copyright information, see https://civicrm.org/licensing |
9 +--------------------------------------------------------------------+
10 */
11
12 /**
13 * Class CRM_Contribute_BAO_ProductTest
14 * @group headless
15 */
16 class CRM_Contribute_BAO_ProductTest extends CiviUnitTestCase {
17
18 /**
19 * Check method add()
20 */
21 public function testAdd() {
22 $params = [
23 'name' => 'Test Product',
24 'sku' => 'TP-10',
25 'imageOption' => 'noImage',
26 'price' => 12,
27 'cost' => 5,
28 'min_contribution' => 5,
29 'is_active' => 1,
30 ];
31
32 $product = CRM_Contribute_BAO_Product::create($params);
33 $result = $this->assertDBNotNull('CRM_Contribute_BAO_Product', $product->id,
34 'sku', 'id',
35 'Database check on updated product record.'
36 );
37
38 $this->assertEquals($result, 'TP-10', 'Verify products sku.');
39 }
40
41 /**
42 * Check method retrieve( )
43 */
44 public function testRetrieve() {
45 $params = [
46 'name' => 'Test Product',
47 'sku' => 'TP-10',
48 'imageOption' => 'noImage',
49 'price' => 12,
50 'cost' => 5,
51 'min_contribution' => 5,
52 'is_active' => 1,
53 ];
54
55 $product = CRM_Contribute_BAO_Product::create($params);
56 $params = ['id' => $product->id];
57 $default = [];
58 $result = CRM_Contribute_BAO_Product::retrieve($params, $default);
59 $this->assertEquals(empty($result), FALSE, 'Verify products record.');
60 }
61
62 /**
63 * Check method setIsActive( )
64 */
65 public function testSetIsActive() {
66 $params = [
67 'name' => 'Test Product',
68 'sku' => 'TP-10',
69 'imageOption' => 'noImage',
70 'price' => 12,
71 'cost' => 5,
72 'min_contribution' => 5,
73 'is_active' => 1,
74 ];
75
76 $product = CRM_Contribute_BAO_Product::create($params);
77 CRM_Contribute_BAO_Product::setIsActive($product->id, 0);
78
79 $isActive = $this->assertDBNotNull('CRM_Contribute_BAO_Product', $product->id,
80 'is_active', 'id',
81 'Database check on updated for product records is_active.'
82 );
83
84 $this->assertEquals($isActive, 0, 'Verify product records is_active.');
85 }
86
87 /**
88 * Check method del( )
89 */
90 public function testDel() {
91 $params = [
92 'name' => 'Test Product',
93 'sku' => 'TP-10',
94 'imageOption' => 'noImage',
95 'price' => 12,
96 'cost' => 5,
97 'min_contribution' => 5,
98 'is_active' => 1,
99 ];
100
101 $product = CRM_Contribute_BAO_Product::create($params);
102 CRM_Contribute_BAO_Product::del($product->id);
103
104 $params = ['id' => $product->id];
105 $defaults = [];
106 $retrievedProduct = CRM_Contribute_BAO_Product::retrieve($params, $defaults);
107
108 $this->assertEquals(empty($retrievedProduct), TRUE, 'Verify product record deletion.');
109 }
110
111 }