brightpearl-cli 1.4.0 → 1.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/assets/phpunit/IntegrationTestCase.php +512 -0
- data/assets/phpunit/JournalEntries.php +246 -0
- data/assets/phpunit/Message.php +101 -0
- data/assets/phpunit/Providers.php +404 -0
- data/assets/phpunit/RedirectException.php +20 -0
- data/assets/phpunit/ReservedContactIds.php +27 -0
- data/assets/phpunit/Values.php +30 -0
- data/assets/phpunit/bootstrap.php +85 -0
- data/assets/phpunit/jenkins-bootstrap.php +60 -0
- data/lib/brightpearl_cli.rb +26 -9
- data/lib/core/config.rb +1 -1
- data/lib/core/ebay.rb +11 -0
- data/lib/core/ebay_factory.rb +34 -0
- data/lib/core/enums.rb +8 -0
- data/lib/core/git.rb +44 -2
- data/lib/core/git_delete.rb +57 -15
- data/lib/core/mysql.rb +13 -13
- data/lib/core/pom.rb +44 -21
- data/lib/core/sql_update.rb +24 -0
- data/lib/core/terminal.rb +5 -4
- data/lib/core/utils_files.rb +0 -8
- data/lib/core/vm.rb +62 -0
- data/lib/routes/dummy_order.rb +0 -1
- data/lib/routes/fix.rb +30 -5
- data/lib/routes/git_checkout.rb +7 -2
- data/lib/routes/git_delete.rb +9 -3
- data/lib/routes/git_merge.rb +22 -6
- data/lib/routes/git_update.rb +1 -1
- data/lib/routes/production_logs.rb +4 -4
- data/lib/routes/review.rb +8 -2
- data/lib/routes/scripts_sonar.rb +6 -2
- data/lib/routes/scripts_sql_update.rb +33 -0
- data/lib/routes/test.rb +23 -8
- data/lib/version.rb +1 -0
- data/vm-scripts/sql-updates.sh +9 -0
- metadata +18 -2
@@ -0,0 +1,246 @@
|
|
1
|
+
<?php
|
2
|
+
namespace testHelpers\Accounts\AllocatePayments;
|
3
|
+
|
4
|
+
use Lib_Dto_Accounts_Journal;
|
5
|
+
use Lib_Dto_Accounts_AllocatePayment_JournalWithBalance;
|
6
|
+
use Lib_Dto_Collection;
|
7
|
+
|
8
|
+
/**
|
9
|
+
* Test data providers for the allocate payments screen
|
10
|
+
*
|
11
|
+
* @since 10/06/2010
|
12
|
+
* @package UnitTests
|
13
|
+
* @subpackage TestHelpers
|
14
|
+
*/
|
15
|
+
class JournalEntries
|
16
|
+
{
|
17
|
+
/**
|
18
|
+
* Returns unbalanced journal entries for customer as the DAO would
|
19
|
+
* @return array
|
20
|
+
*/
|
21
|
+
public static function journalRowsForCustomer()
|
22
|
+
{
|
23
|
+
$entries = array(
|
24
|
+
JournalEntries::createJournalDto(1, 1, '100000', 'accnt1', 'SR', '2013-06-10', '0000-00-00', '2013-06-10 14:42:31', 'pay 100', 0, 100, '0000-00-00 00:00:00'),
|
25
|
+
JournalEntries::createJournalDto(2, 2, '100000', 'accnt2', 'SR', '2013-06-10', '0000-00-00', '2013-06-10 14:42:31', 'pay 250', 0, 250, '0000-00-00 00:00:00'),
|
26
|
+
JournalEntries::createJournalDto(3, 3, '100000', 'SI-100000', 'SI', '2013-06-10', '2013-06-10', '2013-06-10 14:42:31', '', 500, 0, '0000-00-00 00:00:00'),
|
27
|
+
JournalEntries::createJournalDto(4, 4, '100001', 'SI-100001', 'SI', '2013-06-10', '2013-06-10', '2013-06-10 14:42:31', '', 200, 0, '0000-00-00 00:00:00'),
|
28
|
+
JournalEntries::createJournalDto(5, 5, '100002', 'accnt5', 'SR', '2013-06-10', '0000-00-00', '2013-06-10 14:42:31', 'pay 40', 0, 40, '0000-00-00 00:00:00'),
|
29
|
+
JournalEntries::createJournalDto(6, 6, '100002', 'SI-100002', 'SI', '2013-06-10', '2013-06-10', '2013-06-10 14:42:31', '', 50, 0, '0000-00-00 00:00:00'),
|
30
|
+
JournalEntries::createJournalDto(9, 9, '100004', 'SC-100004', 'SC', '2013-06-10', '2013-06-10', '2013-06-10 14:42:31', '', 0, 300, '0000-00-00 00:00:00'),
|
31
|
+
JournalEntries::createJournalDto(10, 10, '100005', 'SC-100005', 'SC', '2013-06-10', '2013-06-10', '2013-06-10 14:42:31', '', 0, 400, '0000-00-00 00:00:00'),
|
32
|
+
JournalEntries::createJournalDto(11, 11, '100005', 'SC-100005', 'SR', '2013-06-10', '0000-00-00', '2013-06-10 14:42:31', 'payment 1', 100, 0, '0000-00-00 00:00:00'),
|
33
|
+
JournalEntries::createJournalDto(12, 12, '100005', 'SC-100005', 'SR', '2013-06-10', '0000-00-00', '2013-06-10 14:42:31', 'payment 2', 50, 0, '0000-00-00 00:00:00'),
|
34
|
+
JournalEntries::createJournalDto(13, 13, '100005', 'SC-100005', 'SR', '2013-06-10', '0000-00-00', '2013-06-10 14:42:31', 'payment 3', 200, 0, '0000-00-00 00:00:00'),
|
35
|
+
JournalEntries::createJournalDto(14, 14, '100006', 'accnt14', 'SR', '2013-06-10', '0000-00-00', '2013-06-10 14:42:31', 'pay 1 of 1', 20, 0, '0000-00-00 00:00:00'),
|
36
|
+
JournalEntries::createJournalDto(15, 15, '100006', 'SC-100006', 'SC', '2013-06-10', '2013-06-10', '2013-06-10 14:42:31', '', 0, 30, '0000-00-00 00:00:00'),
|
37
|
+
JournalEntries::createJournalDto(18, 18, 'accnt18', 'accnt18', 'SR', '2013-06-10', '0000-00-00', '2013-06-10 14:42:31', 'loose pay for 45', 0, 45, '0000-00-00 00:00:00'),
|
38
|
+
JournalEntries::createJournalDto(19, 19, 'accnt19', 'accnt19', 'SR', '2013-06-10', '0000-00-00', '2013-06-10 14:42:31', 'loose pay for -65', 65, 0, '0000-00-00 00:00:00'),
|
39
|
+
JournalEntries::createJournalDto(20, 20, '100008', 'accnt20', 'SR', '2013-06-10', '0000-00-00', '2013-06-10 14:42:31', 'pay 1 for 15', 0, 15, '0000-00-00 00:00:00'),
|
40
|
+
JournalEntries::createJournalDto(21, 21, '100008', 'accnt21', 'SR', '2013-06-10', '0000-00-00', '2013-06-10 15:42:31', 'pay 2 for 35', 0, 35, '0000-00-00 00:00:00'),
|
41
|
+
JournalEntries::createJournalDto(23, 23, '', 'Ovr10000923', 'SR', '2013-06-10', '0000-00-00', '2013-06-10 14:42:31', 'overpayment', 0, 20, '0000-00-00 00:00:00'),
|
42
|
+
JournalEntries::createJournalDto(25, 25, 'OnAccount25', 'OnAccount25', 'SR', '2013-06-10', '0000-00-00', '2013-06-10 14:42:31', 'overpayment of 80', 0, 30, '0000-00-00 00:00:00'),
|
43
|
+
JournalEntries::createJournalDto(47, 47, '100021', 'accnt47', 'SR', '2013-06-10', '0000-00-00', '2013-06-10 14:42:31', 'pay 1 for 10', 10, 0, '0000-00-00 00:00:00'),
|
44
|
+
JournalEntries::createJournalDto(48, 48, '100021', 'accnt48', 'SR', '2013-06-10', '0000-00-00', '2013-06-10 15:42:31', 'pay 2 for 15', 15, 0, '0000-00-00 00:00:00'),
|
45
|
+
JournalEntries::createJournalDto(61, 61, 'SI-100011', 'SI-100011', 'SI', '2013-06-10', '2013-07-10', '2013-06-10 14:42:31', 'not paid', 120, 0, '0000-00-00 00:00:00'),
|
46
|
+
JournalEntries::createJournalDto(62, 62, 'SC-100012', 'SC-100012', 'SC', '2013-06-10', '2013-07-10', '2013-06-10 14:42:31', 'not paid', 0, 150, '0000-00-00 00:00:00'),
|
47
|
+
JournalEntries::createJournalDto(63, 63, 'accnt20', 'accnt20', 'SR', '2013-06-10', '0000-00-00', '2013-06-10 14:42:31', 'dfghj', 0, 45, '0000-00-00 00:00:00'),
|
48
|
+
JournalEntries::createJournalDto(64, 64, 'accnt20', 'accnt20', 'SR', '2013-06-17', '0000-00-00', '2013-06-17 14:42:31', 'jnhgf', 25, 0, '0000-00-00 00:00:00'),
|
49
|
+
JournalEntries::createJournalDto(64, 64, 'accnt22', 'accnt22', 'SR', '2013-06-11', '0000-00-00', '2013-06-11 14:42:31', 'ytre', 30, 0, '0000-00-00 00:00:00'),
|
50
|
+
JournalEntries::createJournalDto(65, 65, 'accnt22', 'accnt23', 'SR', '2013-06-18', '0000-00-00', '2013-06-18 14:42:31', 'mnbv', 0, 5, '0000-00-00 00:00:00'),
|
51
|
+
);
|
52
|
+
|
53
|
+
return JournalEntries::addEntriesToCollection($entries);
|
54
|
+
}
|
55
|
+
|
56
|
+
/**
|
57
|
+
* Returns grouped journal entries for customer
|
58
|
+
* @return array
|
59
|
+
*/
|
60
|
+
public static function groupedJournalsForCustomer()
|
61
|
+
{
|
62
|
+
$entries = array(
|
63
|
+
JournalEntries::createJournalWithBalanceDto('100000', 'SI-100000', 3, 'SI', 'invoice', '2013-06-10', '2013-06-10', 500, 350, 150),
|
64
|
+
JournalEntries::createJournalWithBalanceDto('100001', 'SI-100001', 4, 'SI', 'invoice', '2013-06-10', '2013-06-10', 200, 0, 200),
|
65
|
+
JournalEntries::createJournalWithBalanceDto('100002', 'SI-100002', 6, 'SI', 'invoice', '2013-06-10', '2013-06-10', 50, 40, 10),
|
66
|
+
JournalEntries::createJournalWithBalanceDto('100004', 'SC-100004', 9, 'SC', 'credit', '2013-06-10', '2013-06-10', -300, 0, -300),
|
67
|
+
JournalEntries::createJournalWithBalanceDto('100005', 'SC-100005', 10, 'SC', 'credit', '2013-06-10', '2013-06-10', -400, -350, -50),
|
68
|
+
JournalEntries::createJournalWithBalanceDto('100006', 'SC-100006', 15, 'SC', 'credit', '2013-06-10', '2013-06-10', -30, -20, -10),
|
69
|
+
JournalEntries::createJournalWithBalanceDto('accnt18', 'accnt18', 18, 'SR', 'credit', '2013-06-10', '0000-00-00', -45, 0, -45),
|
70
|
+
JournalEntries::createJournalWithBalanceDto('accnt19', 'accnt19', 19, 'SR', 'invoice', '2013-06-10', '0000-00-00', 65, 0, 65),
|
71
|
+
JournalEntries::createJournalWithBalanceDto('100008', 'accnt20', 20, 'SR', 'credit', '2013-06-10', '0000-00-00', -50, 0, -50),
|
72
|
+
JournalEntries::createJournalWithBalanceDto('', 'Ovr10000923', 23, 'SR', 'credit', '2013-06-10', '0000-00-00', -20, 0, -20),
|
73
|
+
JournalEntries::createJournalWithBalanceDto('OnAccount25', 'OnAccount25', 25, 'SR', 'credit', '2013-06-10', '0000-00-00', -30, 0, -30),
|
74
|
+
JournalEntries::createJournalWithBalanceDto('100021', 'accnt47', 47, 'SR', 'invoice', '2013-06-10', '0000-00-00', 25, 0, 25),
|
75
|
+
JournalEntries::createJournalWithBalanceDto('SI-100011', 'SI-100011', 61, 'SI', 'invoice', '2013-06-10', '2013-07-10', 120, 0, 120),
|
76
|
+
JournalEntries::createJournalWithBalanceDto('SC-100012', 'SC-100012', 62, 'SC', 'credit', '2013-06-10', '2013-07-10', -150, 0, -150),
|
77
|
+
JournalEntries::createJournalWithBalanceDto('accnt20', 'accnt20', 63, 'SR', 'credit', '2013-06-10', '0000-00-00', -45, -25, -20),
|
78
|
+
JournalEntries::createJournalWithBalanceDto('accnt22', 'accnt22', 64, 'SR', 'invoice', '2013-06-11', '0000-00-00', 30, 5, 25),
|
79
|
+
);
|
80
|
+
|
81
|
+
return JournalEntries::addEntriesToCollection($entries);
|
82
|
+
}
|
83
|
+
|
84
|
+
/**
|
85
|
+
* Returns unbalanced journal entries for supplier as the DAO would
|
86
|
+
* @return array
|
87
|
+
*/
|
88
|
+
public static function journalRowsForSupplier()
|
89
|
+
{
|
90
|
+
$entries = array(
|
91
|
+
JournalEntries::createJournalDto(26, 26, '100011', 'hgfdsa', 'PI', '2013-06-10', '2013-06-10', '2013-06-10 14:42:31', '', 0, 200, '0000-00-00 00:00:00'),
|
92
|
+
JournalEntries::createJournalDto(29, 29, '100013', 'sdfghj', 'PP', '2013-06-10', '0000-00-00', '2013-06-10 14:42:31', 'pay 1 for 100', 100, 0, '0000-00-00 00:00:00'),
|
93
|
+
JournalEntries::createJournalDto(30, 30, '100013', 'sdfghj', 'PP', '2013-06-10', '0000-00-00', '2013-06-10 14:42:31', 'pay 2 for 150', 150, 0, '0000-00-00 00:00:00'),
|
94
|
+
JournalEntries::createJournalDto(31, 31, '100013', 'sdfghj', 'PI', '2013-06-10', '2013-06-10', '2013-06-10 14:42:31', '', 0, 500, '0000-00-00 00:00:00'),
|
95
|
+
JournalEntries::createJournalDto(32, 32, '100013', 'sdfghj', 'PP', '2013-06-10', '0000-00-00', '2013-06-10 14:42:31', 'pay 3 for 200', 200, 0, '0000-00-00 00:00:00'),
|
96
|
+
JournalEntries::createJournalDto(33, 33, '100014', 'hgfds', 'PP', '2013-06-10', '0000-00-00', '2013-06-10 14:42:31', 'part pay', 55, 0, '0000-00-00 00:00:00'),
|
97
|
+
JournalEntries::createJournalDto(34, 34, '100014', 'hgfds', 'PI', '2013-06-10', '2013-06-10', '2013-06-10 14:42:31', '', 0, 70, '0000-00-00 00:00:00'),
|
98
|
+
JournalEntries::createJournalDto(35, 35, '100015', 'accnt35', 'PP', '2013-06-10', '0000-00-00', '2013-06-10 14:42:31', 'pay 1 for 35', 35, 0, '0000-00-00 00:00:00'),
|
99
|
+
JournalEntries::createJournalDto(36, 36, '100015', 'accnt36', 'PP', '2013-06-11', '0000-00-00', '2013-06-11 16:42:31', 'pay 2 for 30', 30, 0, '0000-00-00 00:00:00'),
|
100
|
+
JournalEntries::createJournalDto(37, 37, '', 'Ovr10001637', 'PP', '2013-06-10', '0000-00-00', '2013-06-10 14:42:31', 'overpaid 90', 30, 0, '0000-00-00 00:00:00'),
|
101
|
+
JournalEntries::createJournalDto(40, 40, '100018', 'jhgfdsa', 'PC', '2013-06-10', '2013-06-10', '2013-06-10 14:42:31', '', 80, 0, '0000-00-00 00:00:00'),
|
102
|
+
JournalEntries::createJournalDto(41, 41, 'OnAccount41', 'OnAccount41', 'PP', '2013-06-10', '0000-00-00', '2013-06-10 14:42:31', 'overpay 70', 20, 0, '0000-00-00 00:00:00'),
|
103
|
+
JournalEntries::createJournalDto(43, 43, 'accnt43', 'accnt43', 'PP', '2013-06-10', '0000-00-00', '2013-06-10 14:42:31', 'loose pay for 45', 45, 0, '0000-00-00 00:00:00'),
|
104
|
+
JournalEntries::createJournalDto(44, 44, 'accnt44', 'accnt44', 'PP', '2013-06-10', '0000-00-00', '2013-06-10 14:42:31', 'loose pay for -65', 0, 65, '0000-00-00 00:00:00'),
|
105
|
+
JournalEntries::createJournalDto(46, 46, '100020', 'bhgvcxz', 'PC', '2013-06-10', '2013-06-10', '2013-06-10 14:42:31', '', 200, 0, '0000-00-00 00:00:00'),
|
106
|
+
JournalEntries::createJournalDto(49, 49, '100020', 'bhgvcxz', 'PP', '2013-06-10', '0000-00-00', '2013-06-10 14:42:31', 'kjhgfds', 0, 100, '0000-00-00 00:00:00'),
|
107
|
+
JournalEntries::createJournalDto(50, 50, '100020', 'bhgvcxz', 'PP', '2013-06-10', '0000-00-00', '2013-06-10 14:42:31', 'lmkjnbhgvfcx', 0, 50, '0000-00-00 00:00:00'),
|
108
|
+
JournalEntries::createJournalDto(51, 51, '100022', 'fgthj', 'PC', '2013-06-10', '2013-06-10', '2013-06-10 14:42:31', '', 30, 0, '0000-00-00 00:00:00'),
|
109
|
+
JournalEntries::createJournalDto(52, 52, '100022', 'fgthj', 'PP', '2013-06-10', '0000-00-00', '2013-06-10 14:42:31', 'jhgvfcxdsz', 0, 20, '0000-00-00 00:00:00'),
|
110
|
+
JournalEntries::createJournalDto(53, 53, '100023', 'accnt53', 'PP', '2013-06-10', '0000-00-00', '2013-06-10 14:42:31', 'pay 15', 0, 15, '0000-00-00 00:00:00'),
|
111
|
+
JournalEntries::createJournalDto(54, 54, '100023', 'accnt54', 'PP', '2013-06-12', '0000-00-00', '2013-06-12 11:42:31', 'pay 10', 0, 10, '0000-00-00 00:00:00'),
|
112
|
+
JournalEntries::createJournalDto(60, 60, 'Bill-60', '345345345', 'PI', '2013-06-10', '2013-07-10', '2013-06-10 14:42:31', 'not paid', 0, 120, '0000-00-00 00:00:00'),
|
113
|
+
JournalEntries::createJournalDto(67, 67, 'Credit-67', 'someCreditnotpaid-12', 'PC', '2013-06-10', '2013-07-10', '2013-06-10 14:42:31', '', 70, 0, '0000-00-00 00:00:00'),
|
114
|
+
JournalEntries::createJournalDto(68, 68, 'accnt20', 'accnt20', 'PP', '2013-06-18', '0000-00-00', '2013-06-18 14:42:31', 'dfghj', 45, 0, '0000-00-00 00:00:00'),
|
115
|
+
JournalEntries::createJournalDto(69, 69, 'accnt20', 'accnt20', 'PP', '2013-06-18', '0000-00-00', '2013-06-18 16:42:31', 'jnhgf', 0, 25, '0000-00-00 00:00:00'),
|
116
|
+
JournalEntries::createJournalDto(70, 70, 'accnt22', 'accnt22', 'PP', '2013-06-16', '0000-00-00', '2013-06-16 14:42:31', 'ytre', 0, 30, '0000-00-00 00:00:00'),
|
117
|
+
JournalEntries::createJournalDto(71, 71, 'accnt22', 'accnt71', 'PP', '2013-06-18', '0000-00-00', '2013-06-18 15:42:31', 'mnbv', 5, 0, '0000-00-00 00:00:00'),
|
118
|
+
);
|
119
|
+
|
120
|
+
return JournalEntries::addEntriesToCollection($entries);
|
121
|
+
}
|
122
|
+
|
123
|
+
/**
|
124
|
+
* Returns grouped journal entries for supplier
|
125
|
+
* @return array
|
126
|
+
*/
|
127
|
+
public static function groupedJournalsForSupplier()
|
128
|
+
{
|
129
|
+
$entries = array(
|
130
|
+
JournalEntries::createJournalWithBalanceDto('100011', 'hgfdsa', 26, 'PI', 'invoice', '2013-06-10', '2013-06-10', 200, 0, 200),
|
131
|
+
JournalEntries::createJournalWithBalanceDto('100013', 'sdfghj', 31, 'PI', 'invoice', '2013-06-10', '2013-06-10', 500, 450, 50),
|
132
|
+
JournalEntries::createJournalWithBalanceDto('100014', 'hgfds', 34, 'PI', 'invoice', '2013-06-10', '2013-06-10', 70, 55, 15),
|
133
|
+
JournalEntries::createJournalWithBalanceDto('100015', 'accnt35', 35, 'PP', 'credit', '2013-06-10', '0000-00-00', -65, 0, -65),
|
134
|
+
JournalEntries::createJournalWithBalanceDto('', 'Ovr10001637', 37, 'PP', 'credit', '2013-06-10', '0000-00-00', -30, 0, -30),
|
135
|
+
JournalEntries::createJournalWithBalanceDto('100018', 'jhgfdsa', 40, 'PC', 'credit', '2013-06-10', '2013-06-10', -80, 0, -80),
|
136
|
+
JournalEntries::createJournalWithBalanceDto('OnAccount41', 'OnAccount41', 41, 'PP', 'credit', '2013-06-10', '0000-00-00', -20, 0, -20),
|
137
|
+
JournalEntries::createJournalWithBalanceDto('accnt43', 'accnt43', 43, 'PP', 'credit', '2013-06-10', '0000-00-00', -45, 0, -45),
|
138
|
+
JournalEntries::createJournalWithBalanceDto('accnt44', 'accnt44', 44, 'PP', 'invoice', '2013-06-10', '0000-00-00', 65, 0, 65),
|
139
|
+
JournalEntries::createJournalWithBalanceDto('100020', 'bhgvcxz', 46, 'PC', 'credit', '2013-06-10', '2013-06-10', -200, -150, -50),
|
140
|
+
JournalEntries::createJournalWithBalanceDto('100022', 'fgthj', 51, 'PC', 'credit', '2013-06-10', '2013-06-10', -30, -20, -10),
|
141
|
+
JournalEntries::createJournalWithBalanceDto('100023', 'accnt53', 53, 'PP', 'invoice', '2013-06-10', '0000-00-00', 25, 0, 25),
|
142
|
+
JournalEntries::createJournalWithBalanceDto('Bill-60', '345345345', 60, 'PI', 'invoice', '2013-06-10', '2013-07-10', 120, 0, 120),
|
143
|
+
JournalEntries::createJournalWithBalanceDto('Credit-67', 'someCreditnotpaid-12', 67, 'PC', 'credit', '2013-06-10', '2013-07-10', -70, 0, -70),
|
144
|
+
JournalEntries::createJournalWithBalanceDto('accnt20', 'accnt20', 68, 'PP', 'credit', '2013-06-18', '0000-00-00', -45, -25, -20),
|
145
|
+
JournalEntries::createJournalWithBalanceDto('accnt22', 'accnt22', 70, 'PP', 'invoice', '2013-06-16', '0000-00-00', 30, 5, 25),
|
146
|
+
);
|
147
|
+
|
148
|
+
return JournalEntries::addEntriesToCollection($entries);
|
149
|
+
}
|
150
|
+
|
151
|
+
/**
|
152
|
+
* Returns 110 Rows for testing the 100 row limit in JournalTest
|
153
|
+
* @param $invoiceType (Use SI for Customer, PI for Supplier).
|
154
|
+
* @return Lib_Dto_Collection
|
155
|
+
*/
|
156
|
+
public static function journalRowsToTestRowLimit($invoiceType)
|
157
|
+
{
|
158
|
+
$entries = array();
|
159
|
+
for ($i = 0; $i < 110; $i++) {
|
160
|
+
$entries[] = JournalEntries::createJournalDto($i, $i, '100' . str_pad($i, 3, '0', STR_PAD_LEFT), 'abcdef', $invoiceType, '2000-01-01', '2000-01-01', '2000-01-01 00:00:00', '', 0, 200, '0000-00-00 00:00:00');
|
161
|
+
}
|
162
|
+
return JournalEntries::addEntriesToCollection($entries);
|
163
|
+
}
|
164
|
+
|
165
|
+
/**
|
166
|
+
* Creates a journal DTO
|
167
|
+
* @param integer $id
|
168
|
+
* @param integer $journalId
|
169
|
+
* @param string $transId
|
170
|
+
* @param string $invoiceRef
|
171
|
+
* @param string $type
|
172
|
+
* @param string $date
|
173
|
+
* @param string $dateDue
|
174
|
+
* @param string $dateEntered
|
175
|
+
* @param string $details
|
176
|
+
* @param float $debit
|
177
|
+
* @param float $credit
|
178
|
+
* @param string $reconcileVat
|
179
|
+
* @return Lib_Dto_Accounts_Journal
|
180
|
+
*/
|
181
|
+
private static function createJournalDto($id, $journalId, $invoiceRef, $transId, $type, $date, $dateDue, $dateEntered, $details, $debit, $credit, $reconcileVat)
|
182
|
+
{
|
183
|
+
$entry = new Lib_Dto_Accounts_Journal();
|
184
|
+
$entry->setId($id);
|
185
|
+
$entry->setJournalId($journalId);
|
186
|
+
$entry->setTransId($transId);
|
187
|
+
$entry->setInvoiceRef($invoiceRef);
|
188
|
+
$entry->setType($type);
|
189
|
+
$entry->setDate($date);
|
190
|
+
$entry->setDateDue($dateDue);
|
191
|
+
$entry->setDateEntered($dateEntered);
|
192
|
+
$entry->setDetails($details);
|
193
|
+
$entry->setDebit($debit);
|
194
|
+
$entry->setCredit($credit);
|
195
|
+
$entry->setReconcileVat($reconcileVat);
|
196
|
+
|
197
|
+
return $entry;
|
198
|
+
}
|
199
|
+
|
200
|
+
/**
|
201
|
+
* Creates a journal with balance DTO
|
202
|
+
* @param string $transId
|
203
|
+
* @param string $invoiceRef
|
204
|
+
* @param integer $journalId
|
205
|
+
* @param string $type
|
206
|
+
* @param string $classification
|
207
|
+
* @param string $date
|
208
|
+
* @param string $dateDue
|
209
|
+
* @param float $total
|
210
|
+
* @param float $paidToDate
|
211
|
+
* @param float $outstanding
|
212
|
+
* @return \Lib_Dto_Accounts_AllocatePayment_JournalWithBalance
|
213
|
+
*/
|
214
|
+
private static function createJournalWithBalanceDto($invoiceRef, $transId, $journalId, $type, $classification, $date, $dateDue, $total, $paidToDate, $outstanding)
|
215
|
+
{
|
216
|
+
$entry = new Lib_Dto_Accounts_AllocatePayment_JournalWithBalance();
|
217
|
+
$entry->setTransId($transId);
|
218
|
+
$entry->setInvoiceRef($invoiceRef);
|
219
|
+
$entry->setJournalId($journalId);
|
220
|
+
$entry->setType($type);
|
221
|
+
$entry->setClassification($classification);
|
222
|
+
$entry->setDate($date);
|
223
|
+
$entry->setDateDue($dateDue);
|
224
|
+
$entry->setTotal($total);
|
225
|
+
$entry->setPaidToDate($paidToDate);
|
226
|
+
$entry->setOutstanding($outstanding);
|
227
|
+
|
228
|
+
return $entry;
|
229
|
+
}
|
230
|
+
|
231
|
+
/**
|
232
|
+
* Adds journal entries to a collection
|
233
|
+
* @param array $entries
|
234
|
+
* @return Lib_Dto_Collection
|
235
|
+
*/
|
236
|
+
private static function addEntriesToCollection(array $entries)
|
237
|
+
{
|
238
|
+
$collection = new Lib_Dto_Collection();
|
239
|
+
|
240
|
+
foreach ($entries as $entry) {
|
241
|
+
$collection->addDto($entry);
|
242
|
+
}
|
243
|
+
|
244
|
+
return $collection;
|
245
|
+
}
|
246
|
+
}
|
@@ -0,0 +1,101 @@
|
|
1
|
+
<?php
|
2
|
+
/**
|
3
|
+
* Testing version of PEARL_msg
|
4
|
+
*
|
5
|
+
* @since 05/07/2010
|
6
|
+
* @package UnitTests
|
7
|
+
* @subpackage TestHelpers
|
8
|
+
*/
|
9
|
+
class TestHelpers_Message
|
10
|
+
implements \Lib_Message_Interface
|
11
|
+
{
|
12
|
+
/**
|
13
|
+
* Stores set messages
|
14
|
+
*
|
15
|
+
* @var array
|
16
|
+
*/
|
17
|
+
protected $_messages = array();
|
18
|
+
|
19
|
+
/**
|
20
|
+
* Add a message to the stack
|
21
|
+
*
|
22
|
+
* @param string $message
|
23
|
+
* @param string $type
|
24
|
+
* @return boolean
|
25
|
+
*/
|
26
|
+
public function addMessage($message, $type = 'message')
|
27
|
+
{
|
28
|
+
if (!isset($this->_messages[$type])) {
|
29
|
+
$this->_messages[$type] = array();
|
30
|
+
}
|
31
|
+
$this->_messages[$type][] = $message;
|
32
|
+
return true;
|
33
|
+
}
|
34
|
+
|
35
|
+
/**
|
36
|
+
* Return the msg stack ready for AJAX or an alert()
|
37
|
+
*
|
38
|
+
* @return string
|
39
|
+
*/
|
40
|
+
public function javaScriptMessageStack()
|
41
|
+
{
|
42
|
+
/* Not implemented yet */
|
43
|
+
}
|
44
|
+
|
45
|
+
/**
|
46
|
+
* Display the stack ready for on screen HTML
|
47
|
+
*
|
48
|
+
* @param boolean $return Return or echo
|
49
|
+
* @return string
|
50
|
+
*/
|
51
|
+
public function showMessageStack($return = false)
|
52
|
+
{
|
53
|
+
/* Not implemented yet */
|
54
|
+
}
|
55
|
+
|
56
|
+
/**
|
57
|
+
* Check for messages on the stack
|
58
|
+
*
|
59
|
+
* @param string $type
|
60
|
+
* @return boolean
|
61
|
+
*/
|
62
|
+
public function hasMessages($type = 'all')
|
63
|
+
{
|
64
|
+
if ('all' == $type) {
|
65
|
+
$count = 0;
|
66
|
+
foreach ($this->_messages AS $type => $message) {
|
67
|
+
if (count($message) > 0) {
|
68
|
+
return true;
|
69
|
+
}
|
70
|
+
}
|
71
|
+
return false;
|
72
|
+
}
|
73
|
+
if (!isset($this->_messages[$type])) {
|
74
|
+
return false;
|
75
|
+
}
|
76
|
+
return (count($this->_messages[$type]) != 0);
|
77
|
+
}
|
78
|
+
|
79
|
+
/**
|
80
|
+
* Additional message for testing
|
81
|
+
*
|
82
|
+
* @return array
|
83
|
+
*/
|
84
|
+
public function getMessages()
|
85
|
+
{
|
86
|
+
return $this->_messages;
|
87
|
+
}
|
88
|
+
|
89
|
+
|
90
|
+
/**
|
91
|
+
* Clear messages
|
92
|
+
*
|
93
|
+
* @param string $type
|
94
|
+
* @throws Exception
|
95
|
+
* @return $this *Provides a fluent interface
|
96
|
+
*/
|
97
|
+
public function clearMessages($type = null)
|
98
|
+
{
|
99
|
+
throw new Exception('Not implemented here');
|
100
|
+
}
|
101
|
+
}
|
@@ -0,0 +1,404 @@
|
|
1
|
+
<?php
|
2
|
+
/**
|
3
|
+
* Test data providers for unit tests
|
4
|
+
*
|
5
|
+
* @since 17/05/2010
|
6
|
+
* @package UnitTests
|
7
|
+
* @subpackage TestHelpers
|
8
|
+
*/
|
9
|
+
class TestHelpers_Providers
|
10
|
+
{
|
11
|
+
/**
|
12
|
+
* Provides variables that are 'not string' type
|
13
|
+
*
|
14
|
+
* @return array Mixed data types
|
15
|
+
*/
|
16
|
+
public static function notString()
|
17
|
+
{
|
18
|
+
return array(
|
19
|
+
array(true),
|
20
|
+
array(1),
|
21
|
+
array(1.5),
|
22
|
+
array(new StdClass()),
|
23
|
+
array(null),
|
24
|
+
array(array('get', 'up')),
|
25
|
+
array(array('get on up')),
|
26
|
+
array(-5),
|
27
|
+
);
|
28
|
+
}
|
29
|
+
|
30
|
+
/**
|
31
|
+
* Provides variables that are 'not string' and 'not null' type
|
32
|
+
*
|
33
|
+
* @return array Mixed data types
|
34
|
+
*/
|
35
|
+
public static function notStringAndNotNull()
|
36
|
+
{
|
37
|
+
return array(
|
38
|
+
array(true),
|
39
|
+
array(1),
|
40
|
+
array(1.5),
|
41
|
+
array(new StdClass()),
|
42
|
+
array(array('get', 'up')),
|
43
|
+
array(array('get on up')),
|
44
|
+
array(-5),
|
45
|
+
);
|
46
|
+
}
|
47
|
+
|
48
|
+
/**
|
49
|
+
* Provider of 'not float' type
|
50
|
+
*
|
51
|
+
* @return array
|
52
|
+
*/
|
53
|
+
public static function notFloat()
|
54
|
+
{
|
55
|
+
return array(
|
56
|
+
array('stay on the scene'),
|
57
|
+
array(array('like', 'a', 'sex', 'machine')),
|
58
|
+
array(1970),
|
59
|
+
array(true),
|
60
|
+
array(null),
|
61
|
+
array(new StdClass()),
|
62
|
+
array(array(5.15)),
|
63
|
+
array(array()),
|
64
|
+
);
|
65
|
+
}
|
66
|
+
|
67
|
+
/**
|
68
|
+
* Provider of 'not positive number'
|
69
|
+
*
|
70
|
+
* @return array
|
71
|
+
*/
|
72
|
+
public static function notPositiveNumber()
|
73
|
+
{
|
74
|
+
return array(
|
75
|
+
array("Fellas, I'm ready to get up and do my thing"),
|
76
|
+
array(array('yeah', 'go', 'ahead!')),
|
77
|
+
array(-2.25),
|
78
|
+
array(-1970),
|
79
|
+
array(true),
|
80
|
+
array(null),
|
81
|
+
array(new StdClass()),
|
82
|
+
array(array(2.25)),
|
83
|
+
array(array()),
|
84
|
+
array(''),
|
85
|
+
);
|
86
|
+
}
|
87
|
+
|
88
|
+
/**
|
89
|
+
* Provider of 'not integer' type
|
90
|
+
*
|
91
|
+
* @return array
|
92
|
+
*/
|
93
|
+
public static function notInteger()
|
94
|
+
{
|
95
|
+
return array(
|
96
|
+
array("Fellas, I'm ready to get up and do my thing"),
|
97
|
+
array(array('yeah', 'go', 'ahead!')),
|
98
|
+
array(2.25),
|
99
|
+
array(true),
|
100
|
+
array(null),
|
101
|
+
array(new StdClass()),
|
102
|
+
array(array(2.25)),
|
103
|
+
array(array()),
|
104
|
+
);
|
105
|
+
}
|
106
|
+
|
107
|
+
/**
|
108
|
+
* Provider of not integer or not object type
|
109
|
+
*
|
110
|
+
* @return array
|
111
|
+
*/
|
112
|
+
public static function notIntegerOrObject()
|
113
|
+
{
|
114
|
+
return array(
|
115
|
+
array("Fellas, I'm ready to get up and do my thing"),
|
116
|
+
array(array('yeah', 'go', 'ahead!')),
|
117
|
+
array(2.25),
|
118
|
+
array(true),
|
119
|
+
array(null),
|
120
|
+
array(array(2.25)),
|
121
|
+
array(array()),
|
122
|
+
);
|
123
|
+
}
|
124
|
+
|
125
|
+
/**
|
126
|
+
* Provider of not integer or null
|
127
|
+
*
|
128
|
+
* @return array
|
129
|
+
*/
|
130
|
+
public static function notIntegerOrNull()
|
131
|
+
{
|
132
|
+
return array(
|
133
|
+
array("Fellas, I'm ready to get up and do my thing"),
|
134
|
+
array(array('yeah', 'go', 'ahead!')),
|
135
|
+
array(2.25),
|
136
|
+
array(true),
|
137
|
+
array(new StdClass()),
|
138
|
+
array(array(2.25)),
|
139
|
+
array(array()),
|
140
|
+
);
|
141
|
+
}
|
142
|
+
|
143
|
+
/**
|
144
|
+
* Provider of 'not positive integer'
|
145
|
+
*
|
146
|
+
* @return array
|
147
|
+
*/
|
148
|
+
public static function notPositiveInteger()
|
149
|
+
{
|
150
|
+
$data = self::notInteger();
|
151
|
+
$data[] = array(-1);
|
152
|
+
$data[] = array(-368);
|
153
|
+
return $data;
|
154
|
+
}
|
155
|
+
|
156
|
+
/**
|
157
|
+
* Provider of 'not positive integer or not null'
|
158
|
+
*
|
159
|
+
* @return array
|
160
|
+
*/
|
161
|
+
public static function notPositiveIntegerOrNull()
|
162
|
+
{
|
163
|
+
$data = self::notIntegerOrNull();
|
164
|
+
$data[] = array(-1);
|
165
|
+
$data[] = array(-368);
|
166
|
+
return $data;
|
167
|
+
}
|
168
|
+
|
169
|
+
/**
|
170
|
+
* Provider of 'not boolean'
|
171
|
+
*
|
172
|
+
* @return array
|
173
|
+
*/
|
174
|
+
public static function notBoolean()
|
175
|
+
{
|
176
|
+
return array(
|
177
|
+
array('it starts with'),
|
178
|
+
array(null),
|
179
|
+
array(new stdClass),
|
180
|
+
array(array('one', 'thing')),
|
181
|
+
array(2.25),
|
182
|
+
array(-1),
|
183
|
+
array(array()),
|
184
|
+
array('NthEnd'),
|
185
|
+
);
|
186
|
+
}
|
187
|
+
|
188
|
+
/**
|
189
|
+
* Provider of 'not object'
|
190
|
+
*
|
191
|
+
* @return array
|
192
|
+
*/
|
193
|
+
public static function notObject()
|
194
|
+
{
|
195
|
+
return array(
|
196
|
+
array('it starts with'),
|
197
|
+
array(null),
|
198
|
+
array(array('one', 'thing')),
|
199
|
+
array(2.25),
|
200
|
+
array(-1),
|
201
|
+
array(array()),
|
202
|
+
array('NthEnd'),
|
203
|
+
array(false),
|
204
|
+
array(25),
|
205
|
+
);
|
206
|
+
}
|
207
|
+
|
208
|
+
/**
|
209
|
+
* Provider of 'not string or integer' type
|
210
|
+
*
|
211
|
+
* @return array
|
212
|
+
*/
|
213
|
+
public static function notStringOrInteger()
|
214
|
+
{
|
215
|
+
return array(
|
216
|
+
array(array('Stay on the scene')),
|
217
|
+
array(array()),
|
218
|
+
array(array('Bobby!', 'Should I take', "'em to the bridge?")),
|
219
|
+
array(false),
|
220
|
+
array(new StdClass()),
|
221
|
+
array(null),
|
222
|
+
array(2.25),
|
223
|
+
);
|
224
|
+
}
|
225
|
+
|
226
|
+
/**
|
227
|
+
* Invalid YYYY-MM-DD string
|
228
|
+
*
|
229
|
+
* @return array
|
230
|
+
*/
|
231
|
+
public static function badYYYYMMDD()
|
232
|
+
{
|
233
|
+
return array(
|
234
|
+
array('1.21GigaWatts?'),
|
235
|
+
array('15/11/1955'),
|
236
|
+
array('11/15/1955'),
|
237
|
+
array('1955-15-11'),
|
238
|
+
array('1955/11/15'),
|
239
|
+
array('3000-01-01'),
|
240
|
+
array('0000-00-00'),
|
241
|
+
array('1234-56-78'),
|
242
|
+
);
|
243
|
+
}
|
244
|
+
|
245
|
+
/**
|
246
|
+
* Provider of not string or null
|
247
|
+
*
|
248
|
+
* @return array
|
249
|
+
*/
|
250
|
+
public static function notStringOrNull()
|
251
|
+
{
|
252
|
+
return array(
|
253
|
+
array(true),
|
254
|
+
array(1),
|
255
|
+
array(1.5),
|
256
|
+
array(new StdClass()),
|
257
|
+
array(array('hit me', 'with your')),
|
258
|
+
array(array('rhythmn stick')),
|
259
|
+
array(-5),
|
260
|
+
);
|
261
|
+
}
|
262
|
+
|
263
|
+
/**
|
264
|
+
* Provider of not populated string
|
265
|
+
*
|
266
|
+
* @return array
|
267
|
+
*/
|
268
|
+
public static function notPopulatedString()
|
269
|
+
{
|
270
|
+
$data = self::notString();
|
271
|
+
$data[] = array('');
|
272
|
+
return $data;
|
273
|
+
}
|
274
|
+
|
275
|
+
/**
|
276
|
+
* Provider of 'not array' types
|
277
|
+
*
|
278
|
+
* @return array
|
279
|
+
*/
|
280
|
+
public static function notArray()
|
281
|
+
{
|
282
|
+
$data = self::notArrayAndNotNull();
|
283
|
+
$data[] = array(null);
|
284
|
+
return $data;
|
285
|
+
}
|
286
|
+
|
287
|
+
/**
|
288
|
+
* Provider of 'not array' and 'not null' types
|
289
|
+
*
|
290
|
+
* @return array
|
291
|
+
*/
|
292
|
+
public static function notArrayAndNotNull()
|
293
|
+
{
|
294
|
+
return array(
|
295
|
+
array("I ate his liver with some fava beans and a nice chianti..."),
|
296
|
+
array(1),
|
297
|
+
array(2.25),
|
298
|
+
array(true),
|
299
|
+
// array(new StdClass()),
|
300
|
+
);
|
301
|
+
}
|
302
|
+
|
303
|
+
/**
|
304
|
+
* Provider of 'not populated array' types
|
305
|
+
*
|
306
|
+
* @return array
|
307
|
+
*/
|
308
|
+
public static function notPopulatedArray()
|
309
|
+
{
|
310
|
+
$data = self::notArray();
|
311
|
+
$data[] = array(array());
|
312
|
+
return $data;
|
313
|
+
}
|
314
|
+
|
315
|
+
/**
|
316
|
+
* Provider of on-numeric variables
|
317
|
+
*
|
318
|
+
* @return array
|
319
|
+
*/
|
320
|
+
public static function notNumericVariable()
|
321
|
+
{
|
322
|
+
return array(
|
323
|
+
array("Houston we have a problem"),
|
324
|
+
array(true),
|
325
|
+
array(null),
|
326
|
+
array(new StdClass()),
|
327
|
+
array(array()),
|
328
|
+
);
|
329
|
+
}
|
330
|
+
|
331
|
+
/**
|
332
|
+
* Provider of variables that are not numeric strings
|
333
|
+
*
|
334
|
+
* @return array
|
335
|
+
*/
|
336
|
+
public static function notNumericString()
|
337
|
+
{
|
338
|
+
return array(
|
339
|
+
array("Houston we have a problem"),
|
340
|
+
array(true),
|
341
|
+
array(new StdClass()),
|
342
|
+
array(array()),
|
343
|
+
array(0),
|
344
|
+
array(100),
|
345
|
+
array(-10),
|
346
|
+
array(3.5),
|
347
|
+
array("nine"),
|
348
|
+
);
|
349
|
+
}
|
350
|
+
|
351
|
+
/**
|
352
|
+
* Not integer or float
|
353
|
+
*
|
354
|
+
* @return string
|
355
|
+
*/
|
356
|
+
public static function notIntegerOrFloat()
|
357
|
+
{
|
358
|
+
return array(
|
359
|
+
array('it starts with'),
|
360
|
+
array(null),
|
361
|
+
array(new stdClass),
|
362
|
+
array(array('one', 'thing')),
|
363
|
+
array(array()),
|
364
|
+
array('NthEnd'),
|
365
|
+
array(true)
|
366
|
+
);
|
367
|
+
}
|
368
|
+
|
369
|
+
/**
|
370
|
+
* Provider of 'not array' and 'not integer' types
|
371
|
+
*
|
372
|
+
* @return array
|
373
|
+
*/
|
374
|
+
public static function notArrayOrInteger()
|
375
|
+
{
|
376
|
+
return array(
|
377
|
+
array("I ate his liver with some fava beans and a nice chianti..."),
|
378
|
+
array(2.25),
|
379
|
+
array(true),
|
380
|
+
array(null),
|
381
|
+
array(new StdClass()),
|
382
|
+
);
|
383
|
+
}
|
384
|
+
|
385
|
+
// /**
|
386
|
+
// * Provider of a random single digit (0-9) integer
|
387
|
+
// *
|
388
|
+
// * @return array
|
389
|
+
// */
|
390
|
+
// public static function randomSingleDigitInteger()
|
391
|
+
// {
|
392
|
+
// return rand(0,9);
|
393
|
+
// }
|
394
|
+
//
|
395
|
+
// /**
|
396
|
+
// * Provider of a random single digit (1-9) integer
|
397
|
+
// *
|
398
|
+
// * @return array
|
399
|
+
// */
|
400
|
+
// public static function randomSingleDigitIntegerNotZero()
|
401
|
+
// {
|
402
|
+
// return rand(1,9);
|
403
|
+
// }
|
404
|
+
}
|