diff --git a/test/org/openpsa/directmarketing/__helper/campaign.php b/test/org/openpsa/directmarketing/__helper/campaign.php index b571270b93..cecb8060ed 100644 --- a/test/org/openpsa/directmarketing/__helper/campaign.php +++ b/test/org/openpsa/directmarketing/__helper/campaign.php @@ -13,17 +13,10 @@ */ class openpsa_test_campaign_helper { - private $_testcase; - private $_campaign; private $_member; private $_message; - public function __construct(openpsa_testcase $testcase) - { - $this->_testcase = $testcase; - } - public function get_campaign($type = org_openpsa_directmarketing_campaign_dba::TYPE_NORMAL) { if (!$this->_campaign) { @@ -33,7 +26,7 @@ public function get_campaign($type = org_openpsa_directmarketing_campaign_dba::T 'node' => $topic->id, 'orgOpenpsaObtype' => $type ]; - $this->_campaign = $this->_testcase->create_object(org_openpsa_directmarketing_campaign_dba::class, $attributes); + $this->_campaign = openpsa_testcase::create_class_object(org_openpsa_directmarketing_campaign_dba::class, $attributes); } return $this->_campaign; @@ -47,7 +40,7 @@ public function get_member(midcom_db_person $person) 'campaign' => $campaign->id, 'person' => $person->id ]; - $this->_member = $this->_testcase->create_object(org_openpsa_directmarketing_campaign_member_dba::class, $parameters); + $this->_member = openpsa_testcase::create_class_object(org_openpsa_directmarketing_campaign_member_dba::class, $parameters); } return $this->_member; } @@ -61,7 +54,7 @@ public function get_log(org_openpsa_directmarketing_campaign_message_dba $messag 'token' => __CLASS__ . __FUNCTION__, 'target' => 'http://openpsa2.org' ]; - return $this->_testcase->create_object(org_openpsa_directmarketing_link_log_dba::class, $parameters); + return openpsa_testcase::create_class_object(org_openpsa_directmarketing_link_log_dba::class, $parameters); } public function get_receipt(org_openpsa_directmarketing_campaign_message_dba $message, midcom_db_person $person) @@ -73,7 +66,7 @@ public function get_receipt(org_openpsa_directmarketing_campaign_message_dba $me 'token' => __CLASS__ . __FUNCTION__, 'orgOpenpsaObtype' => org_openpsa_directmarketing_campaign_messagereceipt_dba::SENT ]; - return $this->_testcase->create_object(org_openpsa_directmarketing_campaign_messagereceipt_dba::class, $parameters); + return openpsa_testcase::create_class_object(org_openpsa_directmarketing_campaign_messagereceipt_dba::class, $parameters); } public function get_message() @@ -83,7 +76,7 @@ public function get_message() $parameters = [ 'campaign' => $campaign->id, ]; - $this->_message = $this->_testcase->create_object(org_openpsa_directmarketing_campaign_message_dba::class, $parameters); + $this->_message = openpsa_testcase::create_class_object(org_openpsa_directmarketing_campaign_message_dba::class, $parameters); } return $this->_message; } diff --git a/test/org/openpsa/directmarketing/campaign/messageTest.php b/test/org/openpsa/directmarketing/campaign/messageTest.php index 6032a7bb39..4dd6648b17 100644 --- a/test/org/openpsa/directmarketing/campaign/messageTest.php +++ b/test/org/openpsa/directmarketing/campaign/messageTest.php @@ -15,7 +15,7 @@ class org_openpsa_directmarketing_campaign_messageTest extends openpsa_testcase { public function testCRUD() { - $helper = new openpsa_test_campaign_helper($this); + $helper = new openpsa_test_campaign_helper; $campaign = $helper->get_campaign(); midcom::get()->auth->request_sudo('org.openpsa.directmarketing'); diff --git a/test/org/openpsa/directmarketing/handler/campaign/adminTest.php b/test/org/openpsa/directmarketing/handler/campaign/adminTest.php index 3fe0b43edc..26ba2c756f 100644 --- a/test/org/openpsa/directmarketing/handler/campaign/adminTest.php +++ b/test/org/openpsa/directmarketing/handler/campaign/adminTest.php @@ -15,15 +15,20 @@ class org_openpsa_directmarketing_handler_campaign_adminTest extends openpsa_tes { protected static $_person; + /** + * @var openpsa_test_campaign_helper + */ + private static $helper; + public static function setUpBeforeClass() { self::$_person = self::create_user(true); + self::$helper = new openpsa_test_campaign_helper; } public function testHandler_edit() { - $helper = new openpsa_test_campaign_helper($this); - $campaign = $helper->get_campaign(); + $campaign = self::$helper->get_campaign(); midcom::get()->auth->request_sudo('org.openpsa.directmarketing'); @@ -35,8 +40,7 @@ public function testHandler_edit() public function testHandler_delete() { - $helper = new openpsa_test_campaign_helper($this); - $campaign = $helper->get_campaign(); + $campaign = self::$helper->get_campaign(); midcom::get()->auth->request_sudo('org.openpsa.directmarketing'); diff --git a/test/org/openpsa/directmarketing/handler/campaign/campaignTest.php b/test/org/openpsa/directmarketing/handler/campaign/campaignTest.php index ca2aee7e9e..d0acbda380 100644 --- a/test/org/openpsa/directmarketing/handler/campaign/campaignTest.php +++ b/test/org/openpsa/directmarketing/handler/campaign/campaignTest.php @@ -22,7 +22,7 @@ public static function setUpBeforeClass() public function testHandler_view() { - $helper = new openpsa_test_campaign_helper($this); + $helper = new openpsa_test_campaign_helper; $campaign = $helper->get_campaign(); midcom::get()->auth->request_sudo('org.openpsa.directmarketing'); diff --git a/test/org/openpsa/directmarketing/handler/campaign/rulesTest.php b/test/org/openpsa/directmarketing/handler/campaign/rulesTest.php index b097545ba7..9bc3200595 100644 --- a/test/org/openpsa/directmarketing/handler/campaign/rulesTest.php +++ b/test/org/openpsa/directmarketing/handler/campaign/rulesTest.php @@ -15,15 +15,20 @@ class org_openpsa_directmarketing_handler_campaign_rulesTest extends openpsa_tes { protected static $_person; + /** + * @var openpsa_test_campaign_helper + */ + private static $helper; + public static function setUpBeforeClass() { self::$_person = self::create_user(true); + self::$helper = new openpsa_test_campaign_helper; } public function testHandler_edit_query() { - $helper = new openpsa_test_campaign_helper($this); - $campaign = $helper->get_campaign(org_openpsa_directmarketing_campaign_dba::TYPE_SMART); + $campaign = self::$helper->get_campaign(org_openpsa_directmarketing_campaign_dba::TYPE_SMART); midcom::get()->auth->request_sudo('org.openpsa.directmarketing'); @@ -40,8 +45,7 @@ public function testHandler_edit_query() public function testHandler_query() { - $helper = new openpsa_test_campaign_helper($this); - $campaign = $helper->get_campaign(org_openpsa_directmarketing_campaign_dba::TYPE_SMART); + $campaign = self::$helper->get_campaign(org_openpsa_directmarketing_campaign_dba::TYPE_SMART); midcom::get()->auth->request_sudo('org.openpsa.directmarketing'); diff --git a/test/org/openpsa/directmarketing/handler/exportTest.php b/test/org/openpsa/directmarketing/handler/exportTest.php index 4e29da698e..b2c8fcfea1 100644 --- a/test/org/openpsa/directmarketing/handler/exportTest.php +++ b/test/org/openpsa/directmarketing/handler/exportTest.php @@ -22,7 +22,7 @@ public static function setUpBeforeClass() public function testHandler_csv() { - $helper = new openpsa_test_campaign_helper($this); + $helper = new openpsa_test_campaign_helper; $campaign = $helper->get_campaign(); $helper->get_member(self::$_person); diff --git a/test/org/openpsa/directmarketing/handler/importTest.php b/test/org/openpsa/directmarketing/handler/importTest.php index 276fb77445..61bee966c5 100644 --- a/test/org/openpsa/directmarketing/handler/importTest.php +++ b/test/org/openpsa/directmarketing/handler/importTest.php @@ -15,15 +15,20 @@ class org_openpsa_directmarketing_handler_importTest extends openpsa_testcase { protected static $_person; + /** + * @var openpsa_test_campaign_helper + */ + private static $helper; + public static function setUpBeforeClass() { self::$_person = self::create_user(true); + self::$helper = new openpsa_test_campaign_helper; } public function testHandler_index() { - $helper = new openpsa_test_campaign_helper($this); - $campaign = $helper->get_campaign(); + $campaign = self::$helper->get_campaign(); midcom::get()->auth->request_sudo('org.openpsa.directmarketing'); @@ -35,8 +40,7 @@ public function testHandler_index() public function testHandler_simpleemails() { - $helper = new openpsa_test_campaign_helper($this); - $campaign = $helper->get_campaign(); + $campaign = self::$helper->get_campaign(); midcom::get()->auth->request_sudo('org.openpsa.directmarketing'); @@ -69,8 +73,7 @@ public function testHandler_simpleemails() public function testHandler_csv_select() { - $helper = new openpsa_test_campaign_helper($this); - $campaign = $helper->get_campaign(); + $campaign = self::$helper->get_campaign(); midcom::get()->auth->request_sudo('org.openpsa.directmarketing'); @@ -81,8 +84,7 @@ public function testHandler_csv_select() public function testHandler_vcards() { - $helper = new openpsa_test_campaign_helper($this); - $campaign = $helper->get_campaign(); + $campaign = self::$helper->get_campaign(); midcom::get()->auth->request_sudo('org.openpsa.directmarketing'); diff --git a/test/org/openpsa/directmarketing/handler/loggerTest.php b/test/org/openpsa/directmarketing/handler/loggerTest.php index f2ffb411df..4f73325f36 100644 --- a/test/org/openpsa/directmarketing/handler/loggerTest.php +++ b/test/org/openpsa/directmarketing/handler/loggerTest.php @@ -15,15 +15,20 @@ class org_openpsa_directmarketing_handler_loggerTest extends openpsa_testcase { protected static $_person; + /** + * @var openpsa_test_campaign_helper + */ + private static $helper; + public static function setUpBeforeClass() { self::$_person = self::create_user(true); + self::$helper = new openpsa_test_campaign_helper; } public function testHandler_bounce() { - $helper = new openpsa_test_campaign_helper($this); - $message = $helper->get_message(); + $message = self::$helper->get_message(); $token = uniqid(); $this->create_object(org_openpsa_directmarketing_campaign_messagereceipt_dba::class, [ 'token' => $token, @@ -42,10 +47,9 @@ public function testHandler_bounce() public function testHandler_link() { - $helper = new openpsa_test_campaign_helper($this); - $message = $helper->get_message(); + $message = self::$helper->get_message(); $token = uniqid(); - $receipt = $this->create_object(org_openpsa_directmarketing_campaign_messagereceipt_dba::class, [ + $this->create_object(org_openpsa_directmarketing_campaign_messagereceipt_dba::class, [ 'token' => $token, 'orgOpenpsaObtype' => org_openpsa_directmarketing_campaign_messagereceipt_dba::SENT, 'message' => $message->id @@ -74,10 +78,9 @@ public function testHandler_link() public function testHandler_redirect() { - $helper = new openpsa_test_campaign_helper($this); - $message = $helper->get_message(); + $message = self::$helper->get_message(); $token = 'a' . uniqid(); - $receipt = $this->create_object(org_openpsa_directmarketing_campaign_messagereceipt_dba::class, [ + $this->create_object(org_openpsa_directmarketing_campaign_messagereceipt_dba::class, [ 'token' => $token, 'orgOpenpsaObtype' => org_openpsa_directmarketing_campaign_messagereceipt_dba::SENT, 'message' => $message->id diff --git a/test/org/openpsa/directmarketing/handler/message/adminTest.php b/test/org/openpsa/directmarketing/handler/message/adminTest.php index 24619a93bc..d7a910fb4a 100644 --- a/test/org/openpsa/directmarketing/handler/message/adminTest.php +++ b/test/org/openpsa/directmarketing/handler/message/adminTest.php @@ -15,15 +15,20 @@ class org_openpsa_directmarketing_handler_message_adminTest extends openpsa_test { protected static $_person; + /** + * @var openpsa_test_campaign_helper + */ + private static $helper; + public static function setUpBeforeClass() { self::$_person = self::create_user(true); + self::$helper = new openpsa_test_campaign_helper; } public function testHandler_edit() { - $helper = new openpsa_test_campaign_helper($this); - $message = $helper->get_message(); + $message = self::$helper->get_message(); midcom::get()->auth->request_sudo('org.openpsa.directmarketing'); @@ -35,8 +40,7 @@ public function testHandler_edit() public function testHandler_copy() { - $helper = new openpsa_test_campaign_helper($this); - $message = $helper->get_message(); + $message = self::$helper->get_message(); midcom::get()->auth->request_sudo('org.openpsa.directmarketing'); @@ -48,8 +52,7 @@ public function testHandler_copy() public function testHandler_delete() { - $helper = new openpsa_test_campaign_helper($this); - $message = $helper->get_message(); + $message = self::$helper->get_message(); midcom::get()->auth->request_sudo('org.openpsa.directmarketing'); diff --git a/test/org/openpsa/directmarketing/handler/message/composeTest.php b/test/org/openpsa/directmarketing/handler/message/composeTest.php index f0c5fb7eec..62649e332f 100644 --- a/test/org/openpsa/directmarketing/handler/message/composeTest.php +++ b/test/org/openpsa/directmarketing/handler/message/composeTest.php @@ -15,15 +15,20 @@ class org_openpsa_directmarketing_handler_message_composeTest extends openpsa_te { protected static $_person; + /** + * @var openpsa_test_campaign_helper + */ + private static $helper; + public static function setUpBeforeClass() { self::$_person = self::create_user(true); + self::$helper = new openpsa_test_campaign_helper; } public function testHandler_compose() { - $helper = new openpsa_test_campaign_helper($this); - $message = $helper->get_message(); + $message = self::$helper->get_message(); midcom::get()->auth->request_sudo('org.openpsa.directmarketing'); @@ -35,8 +40,7 @@ public function testHandler_compose() public function testHandler_compose4person() { - $helper = new openpsa_test_campaign_helper($this); - $message = $helper->get_message(); + $message = self::$helper->get_message(); midcom::get()->auth->request_sudo('org.openpsa.directmarketing'); diff --git a/test/org/openpsa/directmarketing/handler/message/createTest.php b/test/org/openpsa/directmarketing/handler/message/createTest.php index a71b9d0388..e618cff1d9 100644 --- a/test/org/openpsa/directmarketing/handler/message/createTest.php +++ b/test/org/openpsa/directmarketing/handler/message/createTest.php @@ -22,7 +22,7 @@ public static function setUpBeforeClass() public function testHandler_create() { - $helper = new openpsa_test_campaign_helper($this); + $helper = new openpsa_test_campaign_helper; $campaign = $helper->get_campaign(); midcom::get()->auth->request_sudo('org.openpsa.directmarketing'); diff --git a/test/org/openpsa/directmarketing/handler/message/listTest.php b/test/org/openpsa/directmarketing/handler/message/listTest.php index 9eb7843e3a..18a0b59b20 100644 --- a/test/org/openpsa/directmarketing/handler/message/listTest.php +++ b/test/org/openpsa/directmarketing/handler/message/listTest.php @@ -22,7 +22,7 @@ public static function setUpBeforeClass() public function testHandler_list() { - $helper = new openpsa_test_campaign_helper($this); + $helper = new openpsa_test_campaign_helper; $campaign = $helper->get_campaign(); $helper->get_message(); diff --git a/test/org/openpsa/directmarketing/handler/message/reportTest.php b/test/org/openpsa/directmarketing/handler/message/reportTest.php index 47765fe779..a4046e12ac 100644 --- a/test/org/openpsa/directmarketing/handler/message/reportTest.php +++ b/test/org/openpsa/directmarketing/handler/message/reportTest.php @@ -15,17 +15,22 @@ class org_openpsa_directmarketing_handler_message_reportTest extends openpsa_tes { protected static $_person; + /** + * @var openpsa_test_campaign_helper + */ + private static $helper; + public static function setUpBeforeClass() { self::$_person = self::create_user(true); + self::$helper = new openpsa_test_campaign_helper; } public function testHandler_report() { - $helper = new openpsa_test_campaign_helper($this); - $message = $helper->get_message(); - $helper->get_log($message, self::$_person); - $helper->get_receipt($message, self::$_person); + $message = self::$helper->get_message(); + self::$helper->get_log($message, self::$_person); + self::$helper->get_receipt($message, self::$_person); midcom::get()->auth->request_sudo('org.openpsa.directmarketing'); @@ -36,8 +41,7 @@ public function testHandler_report() public function testHandler_status() { - $helper = new openpsa_test_campaign_helper($this); - $message = $helper->get_message(); + $message = self::$helper->get_message(); midcom::get()->auth->request_sudo('org.openpsa.directmarketing'); diff --git a/test/org/openpsa/directmarketing/handler/message/sendTest.php b/test/org/openpsa/directmarketing/handler/message/sendTest.php index 0d349c1134..a39d66fc40 100644 --- a/test/org/openpsa/directmarketing/handler/message/sendTest.php +++ b/test/org/openpsa/directmarketing/handler/message/sendTest.php @@ -15,15 +15,20 @@ class org_openpsa_directmarketing_handler_message_sendTest extends openpsa_testc { protected static $_person; + /** + * @var openpsa_test_campaign_helper + */ + private static $helper; + public static function setUpBeforeClass() { self::$_person = self::create_user(true); + self::$helper = new openpsa_test_campaign_helper; } public function testHandler_send() { - $helper = new openpsa_test_campaign_helper($this); - $message = $helper->get_message(); + $message = self::$helper->get_message(); midcom::get()->auth->request_sudo('org.openpsa.directmarketing'); @@ -35,8 +40,7 @@ public function testHandler_send() public function testHandler_send_bg() { - $helper = new openpsa_test_campaign_helper($this); - $message = $helper->get_message(); + $message = self::$helper->get_message(); $at = $this->create_object(midcom_services_at_entry_dba::class); midcom::get()->auth->request_sudo('org.openpsa.directmarketing'); diff --git a/test/org/openpsa/directmarketing/handler/message/viewTest.php b/test/org/openpsa/directmarketing/handler/message/viewTest.php index e24f2477df..562487dc9b 100644 --- a/test/org/openpsa/directmarketing/handler/message/viewTest.php +++ b/test/org/openpsa/directmarketing/handler/message/viewTest.php @@ -22,7 +22,7 @@ public static function setUpBeforeClass() public function testHandler_view() { - $helper = new openpsa_test_campaign_helper($this); + $helper = new openpsa_test_campaign_helper; $message = $helper->get_message(); midcom::get()->auth->request_sudo('org.openpsa.directmarketing'); diff --git a/test/org/openpsa/directmarketing/handler/subscriberTest.php b/test/org/openpsa/directmarketing/handler/subscriberTest.php index 3535ef5815..228d0991b5 100644 --- a/test/org/openpsa/directmarketing/handler/subscriberTest.php +++ b/test/org/openpsa/directmarketing/handler/subscriberTest.php @@ -15,9 +15,15 @@ class org_openpsa_directmarketing_handler_subscriberTest extends openpsa_testcas { protected static $_person; + /** + * @var openpsa_test_campaign_helper + */ + private static $helper; + public static function setUpBeforeClass() { self::$_person = self::create_user(true); + self::$helper = new openpsa_test_campaign_helper; } public function testHandler_list() @@ -32,8 +38,7 @@ public function testHandler_list() public function testHandler_list_unsubscribe() { - $helper = new openpsa_test_campaign_helper($this); - $member = $helper->get_member(self::$_person); + $member = self::$helper->get_member(self::$_person); midcom::get()->auth->request_sudo('org.openpsa.directmarketing'); $data = $this->run_handler('org.openpsa.directmarketing', ['campaign', 'unsubscribe', $member->guid]); @@ -44,8 +49,7 @@ public function testHandler_list_unsubscribe() public function testHandler_list_unsubscribe_all() { - $helper = new openpsa_test_campaign_helper($this); - $helper->get_member(self::$_person); + self::$helper->get_member(self::$_person); midcom::get()->auth->request_sudo('org.openpsa.directmarketing'); $data = $this->run_handler('org.openpsa.directmarketing', ['campaign', 'unsubscribe_all', self::$_person->guid]); @@ -56,8 +60,7 @@ public function testHandler_list_unsubscribe_all() public function testHandler_list_unsubscribe_all_future() { - $helper = new openpsa_test_campaign_helper($this); - $helper->get_member(self::$_person); + self::$helper->get_member(self::$_person); midcom::get()->auth->request_sudo('org.openpsa.directmarketing'); $data = $this->run_handler('org.openpsa.directmarketing', ['campaign', 'unsubscribe_all_future', self::$_person->guid, 'test']); @@ -68,8 +71,7 @@ public function testHandler_list_unsubscribe_all_future() public function testHandler_list_unsubscribe_ajax() { - $helper = new openpsa_test_campaign_helper($this); - $member = $helper->get_member(self::$_person); + $member = self::$helper->get_member(self::$_person); midcom::get()->auth->request_sudo('org.openpsa.directmarketing'); $data = $this->run_handler('org.openpsa.directmarketing', ['campaign', 'unsubscribe', 'ajax', $member->guid]); diff --git a/test/org/openpsa/invoices/invoice/itemTest.php b/test/org/openpsa/invoices/invoice/itemTest.php index 18b53513f8..207993922f 100644 --- a/test/org/openpsa/invoices/invoice/itemTest.php +++ b/test/org/openpsa/invoices/invoice/itemTest.php @@ -14,15 +14,14 @@ class org_openpsa_invoices_invoice_itemTest extends openpsa_testcase { protected static $_invoice; - protected static $_salesproject; protected static $_deliverable; public static function setUpBeforeClass() { self::$_invoice = self::create_class_object(org_openpsa_invoices_invoice_dba::class); - self::$_salesproject = self::create_class_object(org_openpsa_sales_salesproject_dba::class); + $salesproject = self::create_class_object(org_openpsa_sales_salesproject_dba::class); $attributes = [ - 'salesproject' => self::$_salesproject->id + 'salesproject' => $salesproject->id ]; self::$_deliverable = self::create_class_object(org_openpsa_sales_salesproject_deliverable_dba::class, $attributes); } diff --git a/test/org/openpsa/invoices/schedulerRunTest.php b/test/org/openpsa/invoices/schedulerRunTest.php index 4f303da99c..7453b2a9e9 100644 --- a/test/org/openpsa/invoices/schedulerRunTest.php +++ b/test/org/openpsa/invoices/schedulerRunTest.php @@ -13,40 +13,43 @@ */ class org_openpsa_invoices_schedulerRunTest extends openpsa_testcase { + protected static $organization; + protected static $manager; + protected static $member; + protected static $group; + protected $_product; - protected $_group; protected $_project; protected $_task; protected $_hour_report; protected $_salesproject; protected $_deliverable; - protected $_organization; - protected $_manager; - protected $_member; - public function setUp() + public static function setUpBeforeClass() { - $this->_organization = $this->create_object(org_openpsa_contacts_group_dba::class); - $this->_manager = $this->create_object(midcom_db_person::class); - $this->_member = $this->create_object(midcom_db_person::class); - - $this->_group = $this->create_object(org_openpsa_products_product_group_dba::class); + self::$organization = self::create_class_object(org_openpsa_contacts_group_dba::class); + self::$manager = self::create_class_object(midcom_db_person::class); + self::$member = self::create_class_object(midcom_db_person::class); + self::$group = self::create_class_object(org_openpsa_products_product_group_dba::class); + } + public function setUp() + { $product_attributes = [ - 'productGroup' => $this->_group->id, + 'productGroup' => self::$group->id, 'code' => 'TEST-' . __CLASS__ . time(), 'delivery' => org_openpsa_products_product_dba::DELIVERY_SUBSCRIPTION ]; $this->_product = $this->create_object(org_openpsa_products_product_dba::class, $product_attributes); $salesproject_attributes = [ - 'owner' => $this->_manager->id, - 'customer' => $this->_organization->id, + 'owner' => self::$manager->id, + 'customer' => self::$organization->id, ]; $this->_salesproject = $this->create_object(org_openpsa_sales_salesproject_dba::class, $salesproject_attributes); $member_attributes = [ - 'person' => $this->_member->id, + 'person' => self::$member->id, 'objectGuid' => $this->_salesproject->guid, 'role' => org_openpsa_sales_salesproject_dba::ROLE_MEMBER ]; diff --git a/test/org/openpsa/invoices/schedulerTest.php b/test/org/openpsa/invoices/schedulerTest.php index 41d0b153e0..a3d0531462 100644 --- a/test/org/openpsa/invoices/schedulerTest.php +++ b/test/org/openpsa/invoices/schedulerTest.php @@ -89,7 +89,7 @@ public function providerCalculate_cycle_next() */ public function testGet_cycle_identifier($attributes, $output) { - $deliverable = self::prepare_object('org_openpsa_sales_salesproject_deliverable_dba', $attributes); + $deliverable = self::prepare_object(org_openpsa_sales_salesproject_deliverable_dba::class, $attributes); $scheduler = new org_openpsa_invoices_scheduler($deliverable); $identifier = $scheduler->get_cycle_identifier($deliverable->start); $this->assertEquals($identifier, $output); @@ -139,7 +139,7 @@ public function providerGet_cycle_identifier() */ public function testCalculate_cycles($attributes, $months, $result) { - $deliverable = self::prepare_object('org_openpsa_sales_salesproject_deliverable_dba', $attributes); + $deliverable = self::prepare_object(org_openpsa_sales_salesproject_deliverable_dba::class, $attributes); $scheduler = new org_openpsa_invoices_scheduler($deliverable); $cycles = $scheduler->calculate_cycles($months, $attributes['start']); diff --git a/test/org/openpsa/projects/taskTest.php b/test/org/openpsa/projects/taskTest.php index 41fdbdfa17..7f7b31828c 100644 --- a/test/org/openpsa/projects/taskTest.php +++ b/test/org/openpsa/projects/taskTest.php @@ -13,6 +13,13 @@ */ class org_openpsa_projects_taskTest extends openpsa_testcase { + private static $project; + + public static function setUpBeforeClass() + { + self::$project = self::create_class_object(org_openpsa_projects_project::class); + } + public function testCRUD() { midcom::get()->auth->request_sudo('org.openpsa.projects'); @@ -23,8 +30,7 @@ public function testCRUD() $stat = $task->create(); $this->assertFalse($stat); - $project = $this->create_object(org_openpsa_projects_project::class); - $task->project = $project->id; + $task->project = self::$project->id; $stat = $task->create(); $this->assertTrue($stat, midcom_connection::get_error_string()); @@ -48,20 +54,18 @@ public function testCRUD() public function testHierarchy() { - $project = $this->create_object(org_openpsa_projects_project::class); - $task = $this->create_object(org_openpsa_projects_task_dba::class, ['project' => $project->id]); + $task = $this->create_object(org_openpsa_projects_task_dba::class, ['project' => self::$project->id]); midcom::get()->auth->request_sudo('org.openpsa.projects'); $parent = $task->get_parent(); midcom::get()->auth->drop_sudo(); - $this->assertEquals($parent->guid, $project->guid); + $this->assertEquals($parent->guid, self::$project->guid); } public function test_add_members() { - $project = $this->create_object(org_openpsa_projects_project::class); - $task = $this->create_object(org_openpsa_projects_task_dba::class, ['project' => $project->id]); + $task = $this->create_object(org_openpsa_projects_task_dba::class, ['project' => self::$project->id]); midcom::get()->auth->request_sudo('org.openpsa.projects'); $task->add_members('resources', [1, 2]); @@ -78,9 +82,8 @@ public function test_add_members() public function test_update_cache() { - $project = $this->create_object(org_openpsa_projects_project::class); $invoice = $this->create_object(org_openpsa_invoices_invoice_dba::class); - $task = $this->create_object(org_openpsa_projects_task_dba::class, ['project' => $project->id]); + $task = $this->create_object(org_openpsa_projects_task_dba::class, ['project' => self::$project->id]); $data = [ 'task' => $task->id, 'hours' => 4, diff --git a/test/org/openpsa/sales/calculator/defaultTest.php b/test/org/openpsa/sales/calculator/defaultTest.php index 7fdf13967c..63c95755bd 100644 --- a/test/org/openpsa/sales/calculator/defaultTest.php +++ b/test/org/openpsa/sales/calculator/defaultTest.php @@ -13,18 +13,10 @@ */ class org_openpsa_sales_calculatorTest extends openpsa_testcase { - protected $_deliverable; - - public function setUp() + public function testGet_invoice_items() { $salesproject = $this->create_object(org_openpsa_sales_salesproject_dba::class); $this->_deliverable = $this->create_object(org_openpsa_sales_salesproject_deliverable_dba::class, ['salesproject' => $salesproject->id]); - } - - public function testGet_invoice_items() - { - midcom::get()->auth->request_sudo('org.openpsa.sales'); - $project = $this->create_object(org_openpsa_projects_project::class); $task_attributes = [ 'project' => $project->id, @@ -33,6 +25,8 @@ public function testGet_invoice_items() $task = $this->create_object(org_openpsa_projects_task_dba::class, $task_attributes); $invoice = $this->create_object(org_openpsa_invoices_invoice_dba::class); + midcom::get()->auth->request_sudo('org.openpsa.sales'); + $calculator = new org_openpsa_sales_calculator_default(); $calculator->run($this->_deliverable); $items = $calculator->get_invoice_items($invoice); diff --git a/test/org/openpsa/sales/handler/deliverable/addTest.php b/test/org/openpsa/sales/handler/deliverable/addTest.php index c34abb8a82..813f3b91f1 100644 --- a/test/org/openpsa/sales/handler/deliverable/addTest.php +++ b/test/org/openpsa/sales/handler/deliverable/addTest.php @@ -41,21 +41,13 @@ public function setUp() ]; } - public function testHandler_add() + public function testHandler_add_create() { midcom::get()->auth->request_sudo('org.openpsa.sales'); $data = $this->run_handler('org.openpsa.sales', ['deliverable', 'add', $this->_salesproject->guid]); $this->assertEquals('deliverable_add', $data['handler_id']); - midcom::get()->auth->drop_sudo(); - } - - public function testHandler_add_create() - { - midcom::get()->auth->request_sudo('org.openpsa.sales'); - - $data = $this->run_handler('org.openpsa.sales', ['deliverable', 'add', $this->_salesproject->guid]); $formdata = [ 'title' => 'TEST ' . __CLASS__ . '_' . time(), 'plannedUnits' => '1', diff --git a/test/org/openpsa/sales/handler/deliverable/listTest.php b/test/org/openpsa/sales/handler/deliverable/listTest.php index 10dbc645d7..9facfbff06 100644 --- a/test/org/openpsa/sales/handler/deliverable/listTest.php +++ b/test/org/openpsa/sales/handler/deliverable/listTest.php @@ -14,7 +14,6 @@ class org_openpsa_sales_salesproject_deliverable_listTest extends openpsa_testcase { protected static $_person; - protected static $_salesproject; public static function setUpBeforeClass() { diff --git a/test/org/openpsa/sales/handler/viewTest.php b/test/org/openpsa/sales/handler/viewTest.php index 0057eae72a..01fa0df5b0 100644 --- a/test/org/openpsa/sales/handler/viewTest.php +++ b/test/org/openpsa/sales/handler/viewTest.php @@ -16,6 +16,7 @@ class org_openpsa_sales_handler_viewTest extends openpsa_testcase protected static $_person; protected static $_salesproject; protected static $_product; + protected static $_product_subscription; public static function setUpBeforeClass() { @@ -25,31 +26,29 @@ public static function setUpBeforeClass() $product_attributes = [ 'productGroup' => $product_group->id, 'name' => 'TEST_' . __CLASS__ . '_' . time(), + 'delivery' => org_openpsa_products_product_dba::DELIVERY_SINGLE ]; self::$_product = self::create_class_object(org_openpsa_products_product_dba::class, $product_attributes); + + $product_attributes['delivery'] = org_openpsa_products_product_dba::DELIVERY_SUBSCRIPTION; + $product_attributes['name'] .= 'subscription'; + + self::$_product_subscription = self::create_class_object(org_openpsa_products_product_dba::class, $product_attributes); } public function testHandler_view() { midcom::get()->auth->request_sudo('org.openpsa.sales'); - $salesproject = $this->create_object(org_openpsa_sales_salesproject_dba::class); - $product_group = $this->create_object(org_openpsa_products_product_group_dba::class); - $product_attributes = [ - 'orgOpenpsaObtype' => org_openpsa_products_product_dba::TYPE_SERVICE, - 'productGroup' => $product_group->id, - 'name' => __CLASS__ . __FUNCTION__ . time() - ]; - $product = $this->create_object(org_openpsa_products_product_dba::class, $product_attributes); $deliverable_attributes = [ - 'salesproject' => $salesproject->id, - 'product' => $product->id, + 'salesproject' => self::$_salesproject->id, + 'product' => self::$_product_subscription->id, 'state' => org_openpsa_sales_salesproject_deliverable_dba::STATE_ORDERED ]; $this->create_object(org_openpsa_sales_salesproject_deliverable_dba::class, $deliverable_attributes); - $data = $this->run_handler('org.openpsa.sales', ['salesproject', $salesproject->guid]); + $data = $this->run_handler('org.openpsa.sales', ['salesproject', self::$_salesproject->guid]); $this->assertEquals('salesproject_view', $data['handler_id']); midcom::get()->auth->drop_sudo(); @@ -60,10 +59,6 @@ public function testHandler_action_single() { midcom::get()->auth->request_sudo('org.openpsa.sales'); - $product = org_openpsa_products_product_dba::get_cached(self::$_product->id); - $product->delivery = org_openpsa_products_product_dba::DELIVERY_SINGLE; - $product->update(); - $deliverable_attributes = [ 'salesproject' => self::$_salesproject->id, 'product' => self::$_product->id, @@ -121,13 +116,9 @@ public function testHandler_process_subscription() { midcom::get()->auth->request_sudo('org.openpsa.sales'); - $product = org_openpsa_products_product_dba::get_cached(self::$_product->id); - $product->delivery = org_openpsa_products_product_dba::DELIVERY_SUBSCRIPTION; - $product->update(); - $deliverable_attributes = [ 'salesproject' => self::$_salesproject->id, - 'product' => self::$_product->id, + 'product' => self::$_product_subscription->id, 'start' => time(), 'continuous' => true, 'unit' => 'q', diff --git a/test/org/openpsa/sales/salesproject/deliverableTest.php b/test/org/openpsa/sales/salesproject/deliverableTest.php index fb833f010c..15501514f8 100644 --- a/test/org/openpsa/sales/salesproject/deliverableTest.php +++ b/test/org/openpsa/sales/salesproject/deliverableTest.php @@ -13,18 +13,18 @@ */ class org_openpsa_sales_salesproject_deliverableTest extends openpsa_testcase { - protected $_salesproject; + protected static $_salesproject; - public function setUp() + public static function setUpBeforeClass() { - $this->_salesproject = $this->create_object(org_openpsa_sales_salesproject_dba::class); + self::$_salesproject = self::create_class_object(org_openpsa_sales_salesproject_dba::class); } public function testCRUD() { midcom::get()->auth->request_sudo('org.openpsa.sales'); $deliverable = new org_openpsa_sales_salesproject_deliverable_dba(); - $deliverable->salesproject = $this->_salesproject->id; + $deliverable->salesproject = self::$_salesproject->id; $deliverable->plannedUnits = 2.5; $deliverable->pricePerUnit = 100; $deliverable->_use_rcs = false; @@ -35,35 +35,35 @@ public function testCRUD() $this->assertEquals(250, $deliverable->price); $parent = $deliverable->get_parent(); - $this->assertEquals($parent->guid, $this->_salesproject->guid); + $this->assertEquals($parent->guid, self::$_salesproject->guid); - $this->_salesproject->refresh(); - $this->assertEquals(250, $this->_salesproject->value); - $this->assertEquals(250, $this->_salesproject->profit); + self::$_salesproject->refresh(); + $this->assertEquals(250, self::$_salesproject->value); + $this->assertEquals(250, self::$_salesproject->profit); $deliverable->plannedUnits = 2; $stat = $deliverable->update(); $this->assertTrue($stat); - $this->_salesproject->refresh(); - $this->assertEquals(200, $this->_salesproject->value); - $this->assertEquals(200, $this->_salesproject->profit); + self::$_salesproject->refresh(); + $this->assertEquals(200, self::$_salesproject->value); + $this->assertEquals(200, self::$_salesproject->profit); $stat = $deliverable->delete(); $this->assertTrue($stat); - $this->_salesproject->calculate_price(); - $this->assertEquals(0, $this->_salesproject->value); - $this->assertEquals(0, $this->_salesproject->profit); + self::$_salesproject->calculate_price(); + $this->assertEquals(0, self::$_salesproject->value); + $this->assertEquals(0, self::$_salesproject->profit); midcom::get()->auth->drop_sudo(); } public function testGet_parent() { - $deliverable = $this->create_object(org_openpsa_sales_salesproject_deliverable_dba::class, ['salesproject' => $this->_salesproject->id]); + $deliverable = $this->create_object(org_openpsa_sales_salesproject_deliverable_dba::class, ['salesproject' => self::$_salesproject->id]); $parent = $deliverable->get_parent(); - $this->assertEquals($parent->guid, $this->_salesproject->guid); + $this->assertEquals($parent->guid, self::$_salesproject->guid); } /** @@ -78,7 +78,7 @@ public function testOrder($attributes, $retval, $results) $product = $this->create_object(org_openpsa_products_product_dba::class, $attributes['product']); $attributes['deliverable']['product'] = $product->id; - $attributes['deliverable']['salesproject'] = $this->_salesproject->id; + $attributes['deliverable']['salesproject'] = self::$_salesproject->id; $deliverable = $this->create_object(org_openpsa_sales_salesproject_deliverable_dba::class, $attributes['deliverable']); @@ -89,7 +89,7 @@ public function testOrder($attributes, $retval, $results) $this->assertEquals($retval, $stat); if ($retval === true) { - $salesproject = $this->_salesproject; + $salesproject = self::$_salesproject; $salesproject->refresh(); foreach ($results as $type => $values) { @@ -169,7 +169,7 @@ public function providerOrder() public function testDecline() { $attributes = [ - 'salesproject' => $this->_salesproject->id + 'salesproject' => self::$_salesproject->id ]; $deliverable = $this->create_object(org_openpsa_sales_salesproject_deliverable_dba::class, $attributes); @@ -179,24 +179,24 @@ public function testDecline() $this->assertTrue($stat); - $this->_salesproject->refresh(); - $this->assertEquals(org_openpsa_sales_salesproject_dba::STATE_LOST, $this->_salesproject->state); + self::$_salesproject->refresh(); + $this->assertEquals(org_openpsa_sales_salesproject_dba::STATE_LOST, self::$_salesproject->state); $this->assertEquals(org_openpsa_sales_salesproject_deliverable_dba::STATE_DECLINED, $deliverable->state); $deliverable2 = $this->create_object(org_openpsa_sales_salesproject_deliverable_dba::class, $attributes); $deliverable3 = $this->create_object(org_openpsa_sales_salesproject_deliverable_dba::class, $attributes); - $this->_salesproject->state = org_openpsa_sales_salesproject_dba::STATE_ACTIVE; - $this->_salesproject->update(); + self::$_salesproject->state = org_openpsa_sales_salesproject_dba::STATE_ACTIVE; + self::$_salesproject->update(); $this->assertTrue($deliverable2->decline()); $this->assertFalse($deliverable2->decline()); - $this->_salesproject->refresh(); - $this->assertEquals(org_openpsa_sales_salesproject_dba::STATE_ACTIVE, $this->_salesproject->state); + self::$_salesproject->refresh(); + $this->assertEquals(org_openpsa_sales_salesproject_dba::STATE_ACTIVE, self::$_salesproject->state); $this->assertTrue($deliverable3->decline()); - $this->_salesproject->refresh(); - $this->assertEquals(org_openpsa_sales_salesproject_dba::STATE_LOST, $this->_salesproject->state); + self::$_salesproject->refresh(); + $this->assertEquals(org_openpsa_sales_salesproject_dba::STATE_LOST, self::$_salesproject->state); midcom::get()->auth->drop_sudo(); } @@ -206,9 +206,6 @@ public function testDecline() */ public function testCalculate_price($attributes, $results) { - $salesproject = $this->create_object(org_openpsa_sales_salesproject_dba::class); - $attributes['salesproject'] = $salesproject->id; - $deliverable = $this->create_object(org_openpsa_sales_salesproject_deliverable_dba::class, $attributes); foreach ($results as $key => $value) { $this->assertEquals($value, $deliverable->$key, $key . ' test failed'); @@ -217,9 +214,11 @@ public function testCalculate_price($attributes, $results) public function providerCalculate_price() { + $salesproject = $this->create_object(org_openpsa_sales_salesproject_dba::class); return [ [ [ + 'salesproject' => $salesproject->id, 'invoiceByActualUnits' => true, 'plannedUnits' => 1, 'units' => 1, @@ -234,6 +233,7 @@ public function providerCalculate_price() ], [ [ + 'salesproject' => $salesproject->id, 'invoiceByActualUnits' => false, 'plannedUnits' => 2, 'units' => 1, @@ -248,6 +248,7 @@ public function providerCalculate_price() ], [ [ + 'salesproject' => $salesproject->id, 'invoiceByActualUnits' => true, 'plannedUnits' => 0, 'units' => 2, @@ -265,7 +266,7 @@ public function providerCalculate_price() public function tearDown() { - self::delete_linked_objects('org_openpsa_sales_salesproject_deliverable_dba', 'salesproject', $this->_salesproject->id); + self::delete_linked_objects('org_openpsa_sales_salesproject_deliverable_dba', 'salesproject', self::$_salesproject->id); parent::tearDown(); } }