Account Suspended
Account Suspended
This Account has been suspended.
Contact your hosting provider for more information.
 All Data Structures Functions Variables Pages
CalculatedDerivedAttributeMetadataTest.php
1 <?php
2  /*********************************************************************************
3  * Zurmo is a customer relationship management program developed by
4  * Zurmo, Inc. Copyright (C) 2017 Zurmo Inc.
5  *
6  * Zurmo is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU Affero General Public License version 3 as published by the
8  * Free Software Foundation with the addition of the following permission added
9  * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
10  * IN WHICH THE COPYRIGHT IS OWNED BY ZURMO, ZURMO DISCLAIMS THE WARRANTY
11  * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
12  *
13  * Zurmo is distributed in the hope that it will be useful, but WITHOUT
14  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15  * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Affero General Public License along with
19  * this program; if not, see http://www.gnu.org/licenses or write to the Free
20  * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21  * 02110-1301 USA.
22  *
23  * You can contact Zurmo, Inc. with a mailing address at 27 North Wacker Drive
24  * Suite 370 Chicago, IL 60606. or at email address contact@zurmo.com.
25  *
26  * The interactive user interfaces in original and modified versions
27  * of this program must display Appropriate Legal Notices, as required under
28  * Section 5 of the GNU Affero General Public License version 3.
29  *
30  * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
31  * these Appropriate Legal Notices must retain the display of the Zurmo
32  * logo and Zurmo copyright notice. If the display of the logo is not reasonably
33  * feasible for technical reasons, the Appropriate Legal Notices must display the words
34  * "Copyright Zurmo Inc. 2017. All rights reserved".
35  ********************************************************************************/
36 
38  {
39  public function testMetadata()
40  {
41  $metadata = new CalculatedDerivedAttributeMetadata();
42  $metadata->setScenario('nonAutoBuild');
43  $metadata->name = 'someName';
44  $metadata->modelClassName = 'Whatever';
45  $metadata->serializedMetadata = serialize(array('stuff', 1, 'attributeLabels' => array()));
46  $this->assertTrue($metadata->save());
47  unset($metadata);
48  $metadata = CalculatedDerivedAttributeMetadata::getByNameAndModelClassName('someName', 'Whatever');
49  $metadata->setScenario('nonAutoBuild');
50  $this->assertEquals('someName', $metadata->name);
51  $this->assertEquals('Whatever', $metadata->modelClassName);
52  $this->assertEquals('a:3:{i:0;s:5:"stuff";i:1;i:1;s:15:"attributeLabels";a:0:{}}', $metadata->serializedMetadata);
53  $metadata->serializedMetadata = serialize(array('stuffx', 1, 'attributeLabels' => array()));
54  $this->assertTrue($metadata->save());
55  }
56 
61  {
62  $metadata = new CalculatedDerivedAttributeMetadata();
63  $metadata->setScenario('nonAutoBuild');
64  $metadata->name = 'someName';
65  $metadata->modelClassName = 'Whatever';
66  $metadata->serializedMetadata = serialize(array('stuff', 1, 'attributeLabels' => array()));
67  $this->assertFalse($metadata->save());
68 
69  $metadata = new CalculatedDerivedAttributeMetadata();
70  $metadata->setScenario('nonAutoBuild');
71  $metadata->name = 'someName2';
72  $metadata->modelClassName = 'Whatever2';
73  $metadata->serializedMetadata = serialize(array('stuff', 1, 'attributeLabels' => array()));
74  $this->assertTrue($metadata->save());
75  }
76 
80  public function testGetAllByModelClassName()
81  {
83  $this->assertEquals(1, count($models));
84  $this->assertEquals('someName', $models[0]->name);
86  $this->assertEquals(1, count($models));
87  $this->assertEquals('someName2', $models[0]->name);
88  }
89 
93  public function testGetFormula()
94  {
95  $metadata = new CalculatedDerivedAttributeMetadata();
96  $metadata->setScenario('nonAutoBuild');
97  $metadata->name = 'someName3';
98  $metadata->modelClassName = 'Whatever3';
99  $metadata->serializedMetadata = serialize(array('stuff', 1, 'attributeLabels' => array(), 'formula' => 'test'));
100  $saved = $metadata->save();
101  $this->assertTrue($saved);
102 
104  $this->assertEquals(1, count($models));
105  $this->assertEquals('someName3', $models[0]->name);
106  $this->assertEquals('test', $models[0]->getFormula());
107  }
108  }
109 ?>
static getAllByModelClassName($modelClassName)
static getByNameAndModelClassName($name, $modelClassName)
Generated on Sun Jul 12 2020 07:10:27
Account Suspended
Account Suspended
This Account has been suspended.
Contact your hosting provider for more information.