~tsep-dev/tsep/0.9-beta

« back to all changes in this revision

Viewing changes to branches/symfony/cake/tests/cases/libs/model/models.php

  • Committer: geoffreyfishing
  • Date: 2011-01-11 23:46:12 UTC
  • Revision ID: svn-v4:ae0de26e-ed09-4cbe-9a20-e40b4c60ac6c::125
Created a symfony branch for future migration to symfony

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?php
 
2
/**
 
3
 * Mock models file
 
4
 *
 
5
 * Mock classes for use in Model and related test cases
 
6
 *
 
7
 * PHP versions 4 and 5
 
8
 *
 
9
 * CakePHP(tm) Tests <http://book.cakephp.org/view/1196/Testing>
 
10
 * Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
 
11
 *
 
12
 *  Licensed under The Open Group Test Suite License
 
13
 *  Redistributions of files must retain the above copyright notice.
 
14
 *
 
15
 * @copyright     Copyright 2005-2010, Cake Software Foundation, Inc. (http://cakefoundation.org)
 
16
 * @link          http://book.cakephp.org/view/1196/Testing CakePHP(tm) Tests
 
17
 * @package       cake
 
18
 * @subpackage    cake.tests.cases.libs.model
 
19
 * @since         CakePHP(tm) v 1.2.0.6464
 
20
 * @license       http://www.opensource.org/licenses/opengroup.php The Open Group Test Suite License
 
21
 */
 
22
if (!defined('CAKEPHP_UNIT_TEST_EXECUTION')) {
 
23
        define('CAKEPHP_UNIT_TEST_EXECUTION', 1);
 
24
}
 
25
 
 
26
/**
 
27
 * Test class
 
28
 *
 
29
 * @package       cake
 
30
 * @subpackage    cake.tests.cases.libs.model
 
31
 */
 
32
class Test extends CakeTestModel {
 
33
 
 
34
/**
 
35
 * useTable property
 
36
 *
 
37
 * @var bool false
 
38
 * @access public
 
39
 */
 
40
        var $useTable = false;
 
41
 
 
42
/**
 
43
 * name property
 
44
 *
 
45
 * @var string 'Test'
 
46
 * @access public
 
47
 */
 
48
        var $name = 'Test';
 
49
 
 
50
/**
 
51
 * schema property
 
52
 *
 
53
 * @var array
 
54
 * @access protected
 
55
 */
 
56
        var $_schema = array(
 
57
                'id'=> array('type' => 'integer', 'null' => '', 'default' => '1', 'length' => '8', 'key'=>'primary'),
 
58
                'name'=> array('type' => 'string', 'null' => '', 'default' => '', 'length' => '255'),
 
59
                'email'=> array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '155'),
 
60
                'notes'=> array('type' => 'text', 'null' => '1', 'default' => 'write some notes here', 'length' => ''),
 
61
                'created'=> array('type' => 'date', 'null' => '1', 'default' => '', 'length' => ''),
 
62
                'updated'=> array('type' => 'datetime', 'null' => '1', 'default' => '', 'length' => null)
 
63
        );
 
64
}
 
65
 
 
66
/**
 
67
 * TestAlias class
 
68
 *
 
69
 * @package       cake
 
70
 * @subpackage    cake.tests.cases.libs.model
 
71
 */
 
72
class TestAlias extends CakeTestModel {
 
73
 
 
74
/**
 
75
 * useTable property
 
76
 *
 
77
 * @var bool false
 
78
 * @access public
 
79
 */
 
80
        var $useTable = false;
 
81
 
 
82
/**
 
83
 * name property
 
84
 *
 
85
 * @var string 'TestAlias'
 
86
 * @access public
 
87
 */
 
88
        var $name = 'TestAlias';
 
89
 
 
90
/**
 
91
 * alias property
 
92
 *
 
93
 * @var string 'TestAlias'
 
94
 * @access public
 
95
 */
 
96
        var $alias = 'TestAlias';
 
97
 
 
98
/**
 
99
 * schema property
 
100
 *
 
101
 * @var array
 
102
 * @access protected
 
103
 */
 
104
        var $_schema = array(
 
105
                'id'=> array('type' => 'integer', 'null' => '', 'default' => '1', 'length' => '8', 'key'=>'primary'),
 
106
                'name'=> array('type' => 'string', 'null' => '', 'default' => '', 'length' => '255'),
 
107
                'email'=> array('type' => 'string', 'null' => '1', 'default' => '', 'length' => '155'),
 
108
                'notes'=> array('type' => 'text', 'null' => '1', 'default' => 'write some notes here', 'length' => ''),
 
109
                'created'=> array('type' => 'date', 'null' => '1', 'default' => '', 'length' => ''),
 
110
                'updated'=> array('type' => 'datetime', 'null' => '1', 'default' => '', 'length' => null)
 
111
        );
 
112
}
 
113
 
 
114
/**
 
115
 * TestValidate class
 
116
 *
 
117
 * @package       cake
 
118
 * @subpackage    cake.tests.cases.libs.model
 
119
 */
 
120
class TestValidate extends CakeTestModel {
 
121
 
 
122
/**
 
123
 * useTable property
 
124
 *
 
125
 * @var bool false
 
126
 * @access public
 
127
 */
 
128
        var $useTable = false;
 
129
 
 
130
/**
 
131
 * name property
 
132
 *
 
133
 * @var string 'TestValidate'
 
134
 * @access public
 
135
 */
 
136
        var $name = 'TestValidate';
 
137
 
 
138
/**
 
139
 * schema property
 
140
 *
 
141
 * @var array
 
142
 * @access protected
 
143
 */
 
144
        var $_schema = array(
 
145
                'id' => array('type' => 'integer', 'null' => '', 'default' => '', 'length' => '8'),
 
146
                'title' => array('type' => 'string', 'null' => '', 'default' => '', 'length' => '255'),
 
147
                'body' => array('type' => 'string', 'null' => '1', 'default' => '', 'length' => ''),
 
148
                'number' => array('type' => 'integer', 'null' => '', 'default' => '', 'length' => '8'),
 
149
                'created' => array('type' => 'date', 'null' => '1', 'default' => '', 'length' => ''),
 
150
                'modified' => array('type' => 'datetime', 'null' => '1', 'default' => '', 'length' => null)
 
151
        );
 
152
 
 
153
/**
 
154
 * validateNumber method
 
155
 *
 
156
 * @param mixed $value
 
157
 * @param mixed $options
 
158
 * @access public
 
159
 * @return void
 
160
 */
 
161
        function validateNumber($value, $options) {
 
162
                $options = array_merge(array('min' => 0, 'max' => 100), $options);
 
163
                $valid = ($value['number'] >= $options['min'] && $value['number'] <= $options['max']);
 
164
                return $valid;
 
165
        }
 
166
 
 
167
/**
 
168
 * validateTitle method
 
169
 *
 
170
 * @param mixed $value
 
171
 * @access public
 
172
 * @return void
 
173
 */
 
174
        function validateTitle($value) {
 
175
                return (!empty($value) && strpos(low($value['title']), 'title-') === 0);
 
176
        }
 
177
}
 
178
 
 
179
/**
 
180
 * User class
 
181
 *
 
182
 * @package       cake
 
183
 * @subpackage    cake.tests.cases.libs.model
 
184
 */
 
185
class User extends CakeTestModel {
 
186
 
 
187
/**
 
188
 * name property
 
189
 *
 
190
 * @var string 'User'
 
191
 * @access public
 
192
 */
 
193
        var $name = 'User';
 
194
 
 
195
/**
 
196
 * validate property
 
197
 *
 
198
 * @var array
 
199
 * @access public
 
200
 */
 
201
        var $validate = array('user' => 'notEmpty', 'password' => 'notEmpty');
 
202
}
 
203
 
 
204
/**
 
205
 * Article class
 
206
 *
 
207
 * @package       cake
 
208
 * @subpackage    cake.tests.cases.libs.model
 
209
 */
 
210
class Article extends CakeTestModel {
 
211
 
 
212
/**
 
213
 * name property
 
214
 *
 
215
 * @var string 'Article'
 
216
 * @access public
 
217
 */
 
218
        var $name = 'Article';
 
219
 
 
220
/**
 
221
 * belongsTo property
 
222
 *
 
223
 * @var array
 
224
 * @access public
 
225
 */
 
226
        var $belongsTo = array('User');
 
227
 
 
228
/**
 
229
 * hasMany property
 
230
 *
 
231
 * @var array
 
232
 * @access public
 
233
 */
 
234
        var $hasMany = array('Comment' => array('dependent' => true));
 
235
 
 
236
/**
 
237
 * hasAndBelongsToMany property
 
238
 *
 
239
 * @var array
 
240
 * @access public
 
241
 */
 
242
        var $hasAndBelongsToMany = array('Tag');
 
243
 
 
244
/**
 
245
 * validate property
 
246
 *
 
247
 * @var array
 
248
 * @access public
 
249
 */
 
250
        var $validate = array('user_id' => 'numeric', 'title' => array('allowEmpty' => false, 'rule' => 'notEmpty'), 'body' => 'notEmpty');
 
251
 
 
252
/**
 
253
 * beforeSaveReturn property
 
254
 *
 
255
 * @var bool true
 
256
 * @access public
 
257
 */
 
258
        var $beforeSaveReturn = true;
 
259
 
 
260
/**
 
261
 * beforeSave method
 
262
 *
 
263
 * @access public
 
264
 * @return void
 
265
 */
 
266
        function beforeSave() {
 
267
                return $this->beforeSaveReturn;
 
268
        }
 
269
 
 
270
/**
 
271
 * titleDuplicate method
 
272
 *
 
273
 * @param mixed $title
 
274
 * @access public
 
275
 * @return void
 
276
 */
 
277
        function titleDuplicate ($title) {
 
278
                if ($title === 'My Article Title') {
 
279
                        return false;
 
280
                }
 
281
                return true;
 
282
        }
 
283
}
 
284
 
 
285
/**
 
286
 * Model stub for beforeDelete testing
 
287
 *
 
288
 * @see #250
 
289
 * @package cake.tests
 
290
 */
 
291
class BeforeDeleteComment extends CakeTestModel {
 
292
        var $name = 'BeforeDeleteComment';
 
293
        
 
294
        var $useTable = 'comments';
 
295
 
 
296
        function beforeDelete($cascade = true) {
 
297
                $db =& $this->getDataSource();
 
298
                $db->delete($this, array($this->alias . '.' . $this->primaryKey => array(1, 3)));
 
299
                return true;
 
300
        }
 
301
}
 
302
 
 
303
/**
 
304
 * NumericArticle class
 
305
 *
 
306
 * @package       cake
 
307
 * @subpackage    cake.tests.cases.libs.model
 
308
 */
 
309
class NumericArticle extends CakeTestModel {
 
310
 
 
311
/**
 
312
 * name property
 
313
 *
 
314
 * @var string 'NumericArticle'
 
315
 * @access public
 
316
 */
 
317
        var $name = 'NumericArticle';
 
318
 
 
319
/**
 
320
 * useTable property
 
321
 *
 
322
 * @var string 'numeric_articles'
 
323
 * @access public
 
324
 */
 
325
        var $useTable = 'numeric_articles';
 
326
}
 
327
 
 
328
/**
 
329
 * Article10 class
 
330
 *
 
331
 * @package       cake
 
332
 * @subpackage    cake.tests.cases.libs.model
 
333
 */
 
334
class Article10 extends CakeTestModel {
 
335
 
 
336
/**
 
337
 * name property
 
338
 *
 
339
 * @var string 'Article10'
 
340
 * @access public
 
341
 */
 
342
        var $name = 'Article10';
 
343
 
 
344
/**
 
345
 * useTable property
 
346
 *
 
347
 * @var string 'articles'
 
348
 * @access public
 
349
 */
 
350
        var $useTable = 'articles';
 
351
 
 
352
/**
 
353
 * hasMany property
 
354
 *
 
355
 * @var array
 
356
 * @access public
 
357
 */
 
358
        var $hasMany = array('Comment' => array('dependent' => true, 'exclusive' => true));
 
359
}
 
360
 
 
361
/**
 
362
 * ArticleFeatured class
 
363
 *
 
364
 * @package       cake
 
365
 * @subpackage    cake.tests.cases.libs.model
 
366
 */
 
367
class ArticleFeatured extends CakeTestModel {
 
368
 
 
369
/**
 
370
 * name property
 
371
 *
 
372
 * @var string 'ArticleFeatured'
 
373
 * @access public
 
374
 */
 
375
        var $name = 'ArticleFeatured';
 
376
 
 
377
/**
 
378
 * belongsTo property
 
379
 *
 
380
 * @var array
 
381
 * @access public
 
382
 */
 
383
        var $belongsTo = array('User', 'Category');
 
384
 
 
385
/**
 
386
 * hasOne property
 
387
 *
 
388
 * @var array
 
389
 * @access public
 
390
 */
 
391
        var $hasOne = array('Featured');
 
392
 
 
393
/**
 
394
 * hasMany property
 
395
 *
 
396
 * @var array
 
397
 * @access public
 
398
 */
 
399
        var $hasMany = array('Comment' => array('className' => 'Comment', 'dependent' => true));
 
400
 
 
401
/**
 
402
 * hasAndBelongsToMany property
 
403
 *
 
404
 * @var array
 
405
 * @access public
 
406
 */
 
407
        var $hasAndBelongsToMany = array('Tag');
 
408
 
 
409
/**
 
410
 * validate property
 
411
 *
 
412
 * @var array
 
413
 * @access public
 
414
 */
 
415
        var $validate = array('user_id' => 'numeric', 'title' => 'notEmpty', 'body' => 'notEmpty');
 
416
}
 
417
 
 
418
/**
 
419
 * Featured class
 
420
 *
 
421
 * @package       cake
 
422
 * @subpackage    cake.tests.cases.libs.model
 
423
 */
 
424
class Featured extends CakeTestModel {
 
425
 
 
426
/**
 
427
 * name property
 
428
 *
 
429
 * @var string 'Featured'
 
430
 * @access public
 
431
 */
 
432
        var $name = 'Featured';
 
433
 
 
434
/**
 
435
 * belongsTo property
 
436
 *
 
437
 * @var array
 
438
 * @access public
 
439
 */
 
440
        var $belongsTo = array('ArticleFeatured', 'Category');
 
441
}
 
442
 
 
443
/**
 
444
 * Tag class
 
445
 *
 
446
 * @package       cake
 
447
 * @subpackage    cake.tests.cases.libs.model
 
448
 */
 
449
class Tag extends CakeTestModel {
 
450
 
 
451
/**
 
452
 * name property
 
453
 *
 
454
 * @var string 'Tag'
 
455
 * @access public
 
456
 */
 
457
        var $name = 'Tag';
 
458
}
 
459
 
 
460
/**
 
461
 * ArticlesTag class
 
462
 *
 
463
 * @package       cake
 
464
 * @subpackage    cake.tests.cases.libs.model
 
465
 */
 
466
class ArticlesTag extends CakeTestModel {
 
467
 
 
468
/**
 
469
 * name property
 
470
 *
 
471
 * @var string 'ArticlesTag'
 
472
 * @access public
 
473
 */
 
474
        var $name = 'ArticlesTag';
 
475
}
 
476
 
 
477
/**
 
478
 * ArticleFeaturedsTag class
 
479
 *
 
480
 * @package       cake
 
481
 * @subpackage    cake.tests.cases.libs.model
 
482
 */
 
483
class ArticleFeaturedsTag extends CakeTestModel {
 
484
 
 
485
/**
 
486
 * name property
 
487
 *
 
488
 * @var string 'ArticleFeaturedsTag'
 
489
 * @access public
 
490
 */
 
491
        var $name = 'ArticleFeaturedsTag';
 
492
}
 
493
 
 
494
/**
 
495
 * Comment class
 
496
 *
 
497
 * @package       cake
 
498
 * @subpackage    cake.tests.cases.libs.model
 
499
 */
 
500
class Comment extends CakeTestModel {
 
501
 
 
502
/**
 
503
 * name property
 
504
 *
 
505
 * @var string 'Comment'
 
506
 * @access public
 
507
 */
 
508
        var $name = 'Comment';
 
509
 
 
510
/**
 
511
 * belongsTo property
 
512
 *
 
513
 * @var array
 
514
 * @access public
 
515
 */
 
516
        var $belongsTo = array('Article', 'User');
 
517
 
 
518
/**
 
519
 * hasOne property
 
520
 *
 
521
 * @var array
 
522
 * @access public
 
523
 */
 
524
        var $hasOne = array('Attachment' => array('dependent' => true));
 
525
}
 
526
 
 
527
/**
 
528
 * Modified Comment Class has afterFind Callback
 
529
 *
 
530
 * @package       cake
 
531
 * @subpackage    cake.tests.cases.libs.model
 
532
 */
 
533
class ModifiedComment extends CakeTestModel {
 
534
 
 
535
/**
 
536
 * name property
 
537
 *
 
538
 * @var string 'Comment'
 
539
 * @access public
 
540
 */
 
541
        var $name = 'Comment';
 
542
 
 
543
/**
 
544
 * useTable property
 
545
 *
 
546
 * @var string 'comments'
 
547
 * @access public
 
548
 */
 
549
        var $useTable = 'comments';
 
550
 
 
551
/**
 
552
 * belongsTo property
 
553
 *
 
554
 * @var array
 
555
 * @access public
 
556
 */
 
557
        var $belongsTo = array('Article');
 
558
 
 
559
/**
 
560
 * afterFind callback
 
561
 *
 
562
 * @return void
 
563
 */
 
564
        function afterFind($results) {
 
565
                if (isset($results[0])) {
 
566
                        $results[0]['Comment']['callback'] = 'Fire';
 
567
                }
 
568
                return $results;
 
569
        }
 
570
}
 
571
 
 
572
/**
 
573
 * Modified Comment Class has afterFind Callback
 
574
 *
 
575
 * @package       cake
 
576
 * @subpackage    cake.tests.cases.libs.model
 
577
 */
 
578
class AgainModifiedComment extends CakeTestModel {
 
579
 
 
580
/**
 
581
 * name property
 
582
 *
 
583
 * @var string 'Comment'
 
584
 * @access public
 
585
 */
 
586
        var $name = 'Comment';
 
587
 
 
588
/**
 
589
 * useTable property
 
590
 *
 
591
 * @var string 'comments'
 
592
 * @access public
 
593
 */
 
594
        var $useTable = 'comments';
 
595
 
 
596
/**
 
597
 * belongsTo property
 
598
 *
 
599
 * @var array
 
600
 * @access public
 
601
 */
 
602
        var $belongsTo = array('Article');
 
603
 
 
604
/**
 
605
 * afterFind callback
 
606
 *
 
607
 * @return void
 
608
 */
 
609
        function afterFind($results) {
 
610
                if (isset($results[0])) {
 
611
                        $results[0]['Comment']['querytype'] = $this->findQueryType;
 
612
                }
 
613
                return $results;
 
614
        }
 
615
}
 
616
 
 
617
/**
 
618
 * MergeVarPluginAppModel class
 
619
 *
 
620
 * @package       cake
 
621
 * @subpackage    cake.tests.cases.libs.model
 
622
 */
 
623
class MergeVarPluginAppModel extends AppModel {
 
624
 
 
625
/**
 
626
 * actsAs parameter
 
627
 *
 
628
 * @var array
 
629
 */
 
630
        var $actsAs = array(
 
631
                'Containable'
 
632
        );
 
633
}
 
634
 
 
635
/**
 
636
 * MergeVarPluginPost class
 
637
 *
 
638
 * @package       cake
 
639
 * @subpackage    cake.tests.cases.libs.model
 
640
 */
 
641
class MergeVarPluginPost extends MergeVarPluginAppModel {
 
642
 
 
643
/**
 
644
 * actsAs parameter
 
645
 *
 
646
 * @var array
 
647
 */
 
648
        var $actsAs = array(
 
649
                'Tree'
 
650
        );
 
651
 
 
652
/**
 
653
 * useTable parameter
 
654
 *
 
655
 * @var string
 
656
 */
 
657
        var $useTable = 'posts';
 
658
}
 
659
 
 
660
/**
 
661
 * MergeVarPluginComment class
 
662
 *
 
663
 * @package       cake
 
664
 * @subpackage    cake.tests.cases.libs.model
 
665
 */
 
666
class MergeVarPluginComment extends MergeVarPluginAppModel {
 
667
 
 
668
/**
 
669
 * actsAs parameter
 
670
 *
 
671
 * @var array
 
672
 */
 
673
        var $actsAs = array(
 
674
                'Containable' => array('some_settings')
 
675
        );
 
676
 
 
677
/**
 
678
 * useTable parameter
 
679
 *
 
680
 * @var string
 
681
 */
 
682
        var $useTable = 'comments';
 
683
}
 
684
 
 
685
 
 
686
/**
 
687
 * Attachment class
 
688
 *
 
689
 * @package       cake
 
690
 * @subpackage    cake.tests.cases.libs.model
 
691
 */
 
692
class Attachment extends CakeTestModel {
 
693
 
 
694
/**
 
695
 * name property
 
696
 *
 
697
 * @var string 'Attachment'
 
698
 * @access public
 
699
 */
 
700
        var $name = 'Attachment';
 
701
}
 
702
 
 
703
/**
 
704
 * Category class
 
705
 *
 
706
 * @package       cake
 
707
 * @subpackage    cake.tests.cases.libs.model
 
708
 */
 
709
class Category extends CakeTestModel {
 
710
 
 
711
/**
 
712
 * name property
 
713
 *
 
714
 * @var string 'Category'
 
715
 * @access public
 
716
 */
 
717
        var $name = 'Category';
 
718
}
 
719
 
 
720
/**
 
721
 * CategoryThread class
 
722
 *
 
723
 * @package       cake
 
724
 * @subpackage    cake.tests.cases.libs.model
 
725
 */
 
726
class CategoryThread extends CakeTestModel {
 
727
 
 
728
/**
 
729
 * name property
 
730
 *
 
731
 * @var string 'CategoryThread'
 
732
 * @access public
 
733
 */
 
734
        var $name = 'CategoryThread';
 
735
 
 
736
/**
 
737
 * belongsTo property
 
738
 *
 
739
 * @var array
 
740
 * @access public
 
741
 */
 
742
        var $belongsTo = array('ParentCategory' => array('className' => 'CategoryThread', 'foreignKey' => 'parent_id'));
 
743
}
 
744
 
 
745
/**
 
746
 * Apple class
 
747
 *
 
748
 * @package       cake
 
749
 * @subpackage    cake.tests.cases.libs.model
 
750
 */
 
751
class Apple extends CakeTestModel {
 
752
 
 
753
/**
 
754
 * name property
 
755
 *
 
756
 * @var string 'Apple'
 
757
 * @access public
 
758
 */
 
759
        var $name = 'Apple';
 
760
 
 
761
/**
 
762
 * validate property
 
763
 *
 
764
 * @var array
 
765
 * @access public
 
766
 */
 
767
        var $validate = array('name' => 'notEmpty');
 
768
 
 
769
/**
 
770
 * hasOne property
 
771
 *
 
772
 * @var array
 
773
 * @access public
 
774
 */
 
775
        var $hasOne = array('Sample');
 
776
 
 
777
/**
 
778
 * hasMany property
 
779
 *
 
780
 * @var array
 
781
 * @access public
 
782
 */
 
783
        var $hasMany = array('Child' => array('className' => 'Apple', 'dependent' => true));
 
784
 
 
785
/**
 
786
 * belongsTo property
 
787
 *
 
788
 * @var array
 
789
 * @access public
 
790
 */
 
791
        var $belongsTo = array('Parent' => array('className' => 'Apple', 'foreignKey' => 'apple_id'));
 
792
}
 
793
 
 
794
/**
 
795
 * Sample class
 
796
 *
 
797
 * @package       cake
 
798
 * @subpackage    cake.tests.cases.libs.model
 
799
 */
 
800
class Sample extends CakeTestModel {
 
801
 
 
802
/**
 
803
 * name property
 
804
 *
 
805
 * @var string 'Sample'
 
806
 * @access public
 
807
 */
 
808
        var $name = 'Sample';
 
809
 
 
810
/**
 
811
 * belongsTo property
 
812
 *
 
813
 * @var string 'Apple'
 
814
 * @access public
 
815
 */
 
816
        var $belongsTo = 'Apple';
 
817
}
 
818
 
 
819
/**
 
820
 * AnotherArticle class
 
821
 *
 
822
 * @package       cake
 
823
 * @subpackage    cake.tests.cases.libs.model
 
824
 */
 
825
class AnotherArticle extends CakeTestModel {
 
826
 
 
827
/**
 
828
 * name property
 
829
 *
 
830
 * @var string 'AnotherArticle'
 
831
 * @access public
 
832
 */
 
833
        var $name = 'AnotherArticle';
 
834
 
 
835
/**
 
836
 * hasMany property
 
837
 *
 
838
 * @var string 'Home'
 
839
 * @access public
 
840
 */
 
841
        var $hasMany = 'Home';
 
842
}
 
843
 
 
844
/**
 
845
 * Advertisement class
 
846
 *
 
847
 * @package       cake
 
848
 * @subpackage    cake.tests.cases.libs.model
 
849
 */
 
850
class Advertisement extends CakeTestModel {
 
851
 
 
852
/**
 
853
 * name property
 
854
 *
 
855
 * @var string 'Advertisement'
 
856
 * @access public
 
857
 */
 
858
        var $name = 'Advertisement';
 
859
 
 
860
/**
 
861
 * hasMany property
 
862
 *
 
863
 * @var string 'Home'
 
864
 * @access public
 
865
 */
 
866
        var $hasMany = 'Home';
 
867
}
 
868
 
 
869
/**
 
870
 * Home class
 
871
 *
 
872
 * @package       cake
 
873
 * @subpackage    cake.tests.cases.libs.model
 
874
 */
 
875
class Home extends CakeTestModel {
 
876
 
 
877
/**
 
878
 * name property
 
879
 *
 
880
 * @var string 'Home'
 
881
 * @access public
 
882
 */
 
883
        var $name = 'Home';
 
884
 
 
885
/**
 
886
 * belongsTo property
 
887
 *
 
888
 * @var array
 
889
 * @access public
 
890
 */
 
891
        var $belongsTo = array('AnotherArticle', 'Advertisement');
 
892
}
 
893
 
 
894
/**
 
895
 * Post class
 
896
 *
 
897
 * @package       cake
 
898
 * @subpackage    cake.tests.cases.libs.model
 
899
 */
 
900
class Post extends CakeTestModel {
 
901
 
 
902
/**
 
903
 * name property
 
904
 *
 
905
 * @var string 'Post'
 
906
 * @access public
 
907
 */
 
908
        var $name = 'Post';
 
909
 
 
910
/**
 
911
 * belongsTo property
 
912
 *
 
913
 * @var array
 
914
 * @access public
 
915
 */
 
916
        var $belongsTo = array('Author');
 
917
 
 
918
        function beforeFind($queryData) {
 
919
                if (isset($queryData['connection'])) {
 
920
                        $this->useDbConfig = $queryData['connection'];
 
921
                }
 
922
                return true;
 
923
        }
 
924
 
 
925
        function afterFind($results) {
 
926
                $this->useDbConfig = 'test_suite';
 
927
                return $results;
 
928
        }
 
929
}
 
930
 
 
931
/**
 
932
 * Author class
 
933
 *
 
934
 * @package       cake
 
935
 * @subpackage    cake.tests.cases.libs.model
 
936
 */
 
937
class Author extends CakeTestModel {
 
938
 
 
939
/**
 
940
 * name property
 
941
 *
 
942
 * @var string 'Author'
 
943
 * @access public
 
944
 */
 
945
        var $name = 'Author';
 
946
 
 
947
/**
 
948
 * hasMany property
 
949
 *
 
950
 * @var array
 
951
 * @access public
 
952
 */
 
953
        var $hasMany = array('Post');
 
954
 
 
955
/**
 
956
 * afterFind method
 
957
 *
 
958
 * @param mixed $results
 
959
 * @access public
 
960
 * @return void
 
961
 */
 
962
        function afterFind($results) {
 
963
                $results[0]['Author']['test'] = 'working';
 
964
                return $results;
 
965
        }
 
966
}
 
967
 
 
968
/**
 
969
 * ModifiedAuthor class
 
970
 *
 
971
 * @package       cake
 
972
 * @subpackage    cake.tests.cases.libs.model
 
973
 */
 
974
class ModifiedAuthor extends Author {
 
975
 
 
976
/**
 
977
 * name property
 
978
 *
 
979
 * @var string 'Author'
 
980
 * @access public
 
981
 */
 
982
        var $name = 'Author';
 
983
 
 
984
/**
 
985
 * afterFind method
 
986
 *
 
987
 * @param mixed $results
 
988
 * @access public
 
989
 * @return void
 
990
 */
 
991
        function afterFind($results) {
 
992
                foreach($results as $index => $result) {
 
993
                        $results[$index]['Author']['user'] .= ' (CakePHP)';
 
994
                }
 
995
                return $results;
 
996
        }
 
997
}
 
998
 
 
999
/**
 
1000
 * Project class
 
1001
 *
 
1002
 * @package       cake
 
1003
 * @subpackage    cake.tests.cases.libs.model
 
1004
 */
 
1005
class Project extends CakeTestModel {
 
1006
 
 
1007
/**
 
1008
 * name property
 
1009
 *
 
1010
 * @var string 'Project'
 
1011
 * @access public
 
1012
 */
 
1013
        var $name = 'Project';
 
1014
 
 
1015
/**
 
1016
 * hasMany property
 
1017
 *
 
1018
 * @var array
 
1019
 * @access public
 
1020
 */
 
1021
        var $hasMany = array('Thread');
 
1022
}
 
1023
 
 
1024
/**
 
1025
 * Thread class
 
1026
 *
 
1027
 * @package       cake
 
1028
 * @subpackage    cake.tests.cases.libs.model
 
1029
 */
 
1030
class Thread extends CakeTestModel {
 
1031
 
 
1032
/**
 
1033
 * name property
 
1034
 *
 
1035
 * @var string 'Thread'
 
1036
 * @access public
 
1037
 */
 
1038
        var $name = 'Thread';
 
1039
 
 
1040
/**
 
1041
 * hasMany property
 
1042
 *
 
1043
 * @var array
 
1044
 * @access public
 
1045
 */
 
1046
        var $belongsTo = array('Project');
 
1047
 
 
1048
/**
 
1049
 * hasMany property
 
1050
 *
 
1051
 * @var array
 
1052
 * @access public
 
1053
 */
 
1054
        var $hasMany = array('Message');
 
1055
}
 
1056
 
 
1057
/**
 
1058
 * Message class
 
1059
 *
 
1060
 * @package       cake
 
1061
 * @subpackage    cake.tests.cases.libs.model
 
1062
 */
 
1063
class Message extends CakeTestModel {
 
1064
 
 
1065
/**
 
1066
 * name property
 
1067
 *
 
1068
 * @var string 'Message'
 
1069
 * @access public
 
1070
 */
 
1071
        var $name = 'Message';
 
1072
 
 
1073
/**
 
1074
 * hasOne property
 
1075
 *
 
1076
 * @var array
 
1077
 * @access public
 
1078
 */
 
1079
        var $hasOne = array('Bid');
 
1080
}
 
1081
 
 
1082
/**
 
1083
 * Bid class
 
1084
 *
 
1085
 * @package       cake
 
1086
 * @subpackage    cake.tests.cases.libs.model
 
1087
 */
 
1088
class Bid extends CakeTestModel {
 
1089
 
 
1090
/**
 
1091
 * name property
 
1092
 *
 
1093
 * @var string 'Bid'
 
1094
 * @access public
 
1095
 */
 
1096
        var $name = 'Bid';
 
1097
 
 
1098
/**
 
1099
 * belongsTo property
 
1100
 *
 
1101
 * @var array
 
1102
 * @access public
 
1103
 */
 
1104
        var $belongsTo = array('Message');
 
1105
}
 
1106
 
 
1107
/**
 
1108
 * NodeAfterFind class
 
1109
 *
 
1110
 * @package       cake
 
1111
 * @subpackage    cake.tests.cases.libs.model
 
1112
 */
 
1113
class NodeAfterFind extends CakeTestModel {
 
1114
 
 
1115
/**
 
1116
 * name property
 
1117
 *
 
1118
 * @var string 'NodeAfterFind'
 
1119
 * @access public
 
1120
 */
 
1121
        var $name = 'NodeAfterFind';
 
1122
 
 
1123
/**
 
1124
 * validate property
 
1125
 *
 
1126
 * @var array
 
1127
 * @access public
 
1128
 */
 
1129
        var $validate = array('name' => 'notEmpty');
 
1130
 
 
1131
/**
 
1132
 * useTable property
 
1133
 *
 
1134
 * @var string 'apples'
 
1135
 * @access public
 
1136
 */
 
1137
        var $useTable = 'apples';
 
1138
 
 
1139
/**
 
1140
 * hasOne property
 
1141
 *
 
1142
 * @var array
 
1143
 * @access public
 
1144
 */
 
1145
        var $hasOne = array('Sample' => array('className' => 'NodeAfterFindSample'));
 
1146
 
 
1147
/**
 
1148
 * hasMany property
 
1149
 *
 
1150
 * @var array
 
1151
 * @access public
 
1152
 */
 
1153
        var $hasMany = array('Child' => array('className' => 'NodeAfterFind', 'dependent' => true));
 
1154
 
 
1155
/**
 
1156
 * belongsTo property
 
1157
 *
 
1158
 * @var array
 
1159
 * @access public
 
1160
 */
 
1161
        var $belongsTo = array('Parent' => array('className' => 'NodeAfterFind', 'foreignKey' => 'apple_id'));
 
1162
 
 
1163
/**
 
1164
 * afterFind method
 
1165
 *
 
1166
 * @param mixed $results
 
1167
 * @access public
 
1168
 * @return void
 
1169
 */
 
1170
        function afterFind($results) {
 
1171
                return $results;
 
1172
        }
 
1173
}
 
1174
 
 
1175
/**
 
1176
 * NodeAfterFindSample class
 
1177
 *
 
1178
 * @package       cake
 
1179
 * @subpackage    cake.tests.cases.libs.model
 
1180
 */
 
1181
class NodeAfterFindSample extends CakeTestModel {
 
1182
 
 
1183
/**
 
1184
 * name property
 
1185
 *
 
1186
 * @var string 'NodeAfterFindSample'
 
1187
 * @access public
 
1188
 */
 
1189
        var $name = 'NodeAfterFindSample';
 
1190
 
 
1191
/**
 
1192
 * useTable property
 
1193
 *
 
1194
 * @var string 'samples'
 
1195
 * @access public
 
1196
 */
 
1197
        var $useTable = 'samples';
 
1198
 
 
1199
/**
 
1200
 * belongsTo property
 
1201
 *
 
1202
 * @var string 'NodeAfterFind'
 
1203
 * @access public
 
1204
 */
 
1205
        var $belongsTo = 'NodeAfterFind';
 
1206
}
 
1207
 
 
1208
/**
 
1209
 * NodeNoAfterFind class
 
1210
 *
 
1211
 * @package       cake
 
1212
 * @subpackage    cake.tests.cases.libs.model
 
1213
 */
 
1214
class NodeNoAfterFind extends CakeTestModel {
 
1215
 
 
1216
/**
 
1217
 * name property
 
1218
 *
 
1219
 * @var string 'NodeAfterFind'
 
1220
 * @access public
 
1221
 */
 
1222
        var $name = 'NodeAfterFind';
 
1223
 
 
1224
/**
 
1225
 * validate property
 
1226
 *
 
1227
 * @var array
 
1228
 * @access public
 
1229
 */
 
1230
        var $validate = array('name' => 'notEmpty');
 
1231
 
 
1232
/**
 
1233
 * useTable property
 
1234
 *
 
1235
 * @var string 'apples'
 
1236
 * @access public
 
1237
 */
 
1238
        var $useTable = 'apples';
 
1239
 
 
1240
/**
 
1241
 * hasOne property
 
1242
 *
 
1243
 * @var array
 
1244
 * @access public
 
1245
 */
 
1246
        var $hasOne = array('Sample' => array('className' => 'NodeAfterFindSample'));
 
1247
 
 
1248
/**
 
1249
 * hasMany property
 
1250
 *
 
1251
 * @var array
 
1252
 * @access public
 
1253
 */
 
1254
        var $hasMany = array('Child' => array('className' => 'NodeAfterFind', 'dependent' => true));
 
1255
 
 
1256
/**
 
1257
 * belongsTo property
 
1258
 *
 
1259
 * @var array
 
1260
 * @access public
 
1261
 */
 
1262
        var $belongsTo = array('Parent' => array('className' => 'NodeAfterFind', 'foreignKey' => 'apple_id'));
 
1263
}
 
1264
 
 
1265
/**
 
1266
 * Node class
 
1267
 *
 
1268
 * @package       cake
 
1269
 * @subpackage    cake.tests.cases.libs.model
 
1270
 */
 
1271
class Node extends CakeTestModel{
 
1272
 
 
1273
/**
 
1274
 * name property
 
1275
 *
 
1276
 * @var string 'Node'
 
1277
 * @access public
 
1278
 */
 
1279
        var $name = 'Node';
 
1280
 
 
1281
/**
 
1282
 * hasAndBelongsToMany property
 
1283
 *
 
1284
 * @var array
 
1285
 * @access public
 
1286
 */
 
1287
        var $hasAndBelongsToMany = array(
 
1288
                'ParentNode' => array(
 
1289
                        'className' => 'Node',
 
1290
                        'joinTable' => 'dependency',
 
1291
                        'with' => 'Dependency',
 
1292
                        'foreignKey' => 'child_id',
 
1293
                        'associationForeignKey' => 'parent_id',
 
1294
                )
 
1295
        );
 
1296
}
 
1297
 
 
1298
/**
 
1299
 * Dependency class
 
1300
 *
 
1301
 * @package       cake
 
1302
 * @subpackage    cake.tests.cases.libs.model
 
1303
 */
 
1304
class Dependency extends CakeTestModel {
 
1305
 
 
1306
/**
 
1307
 * name property
 
1308
 *
 
1309
 * @var string 'Dependency'
 
1310
 * @access public
 
1311
 */
 
1312
        var $name = 'Dependency';
 
1313
}
 
1314
 
 
1315
/**
 
1316
 * ModelA class
 
1317
 *
 
1318
 * @package       cake
 
1319
 * @subpackage    cake.tests.cases.libs.model
 
1320
 */
 
1321
class ModelA extends CakeTestModel {
 
1322
 
 
1323
/**
 
1324
 * name property
 
1325
 *
 
1326
 * @var string 'ModelA'
 
1327
 * @access public
 
1328
 */
 
1329
        var $name = 'ModelA';
 
1330
 
 
1331
/**
 
1332
 * useTable property
 
1333
 *
 
1334
 * @var string 'apples'
 
1335
 * @access public
 
1336
 */
 
1337
        var $useTable = 'apples';
 
1338
 
 
1339
/**
 
1340
 * hasMany property
 
1341
 *
 
1342
 * @var array
 
1343
 * @access public
 
1344
 */
 
1345
        var $hasMany = array('ModelB', 'ModelC');
 
1346
}
 
1347
 
 
1348
/**
 
1349
 * ModelB class
 
1350
 *
 
1351
 * @package       cake
 
1352
 * @subpackage    cake.tests.cases.libs.model
 
1353
 */
 
1354
class ModelB extends CakeTestModel {
 
1355
 
 
1356
/**
 
1357
 * name property
 
1358
 *
 
1359
 * @var string 'ModelB'
 
1360
 * @access public
 
1361
 */
 
1362
        var $name = 'ModelB';
 
1363
 
 
1364
/**
 
1365
 * useTable property
 
1366
 *
 
1367
 * @var string 'messages'
 
1368
 * @access public
 
1369
 */
 
1370
        var $useTable = 'messages';
 
1371
 
 
1372
/**
 
1373
 * hasMany property
 
1374
 *
 
1375
 * @var array
 
1376
 * @access public
 
1377
 */
 
1378
        var $hasMany = array('ModelD');
 
1379
}
 
1380
 
 
1381
/**
 
1382
 * ModelC class
 
1383
 *
 
1384
 * @package       cake
 
1385
 * @subpackage    cake.tests.cases.libs.model
 
1386
 */
 
1387
class ModelC extends CakeTestModel {
 
1388
 
 
1389
/**
 
1390
 * name property
 
1391
 *
 
1392
 * @var string 'ModelC'
 
1393
 * @access public
 
1394
 */
 
1395
        var $name = 'ModelC';
 
1396
 
 
1397
/**
 
1398
 * useTable property
 
1399
 *
 
1400
 * @var string 'bids'
 
1401
 * @access public
 
1402
 */
 
1403
        var $useTable = 'bids';
 
1404
 
 
1405
/**
 
1406
 * hasMany property
 
1407
 *
 
1408
 * @var array
 
1409
 * @access public
 
1410
 */
 
1411
        var $hasMany = array('ModelD');
 
1412
}
 
1413
 
 
1414
/**
 
1415
 * ModelD class
 
1416
 *
 
1417
 * @package       cake
 
1418
 * @subpackage    cake.tests.cases.libs.model
 
1419
 */
 
1420
class ModelD extends CakeTestModel {
 
1421
 
 
1422
/**
 
1423
 * name property
 
1424
 *
 
1425
 * @var string 'ModelD'
 
1426
 * @access public
 
1427
 */
 
1428
        var $name = 'ModelD';
 
1429
 
 
1430
/**
 
1431
 * useTable property
 
1432
 *
 
1433
 * @var string 'threads'
 
1434
 * @access public
 
1435
 */
 
1436
        var $useTable = 'threads';
 
1437
}
 
1438
 
 
1439
/**
 
1440
 * Something class
 
1441
 *
 
1442
 * @package       cake
 
1443
 * @subpackage    cake.tests.cases.libs.model
 
1444
 */
 
1445
class Something extends CakeTestModel {
 
1446
 
 
1447
/**
 
1448
 * name property
 
1449
 *
 
1450
 * @var string 'Something'
 
1451
 * @access public
 
1452
 */
 
1453
        var $name = 'Something';
 
1454
 
 
1455
/**
 
1456
 * hasAndBelongsToMany property
 
1457
 *
 
1458
 * @var array
 
1459
 * @access public
 
1460
 */
 
1461
        var $hasAndBelongsToMany = array('SomethingElse' => array('with' => array('JoinThing' => array('doomed'))));
 
1462
}
 
1463
 
 
1464
/**
 
1465
 * SomethingElse class
 
1466
 *
 
1467
 * @package       cake
 
1468
 * @subpackage    cake.tests.cases.libs.model
 
1469
 */
 
1470
class SomethingElse extends CakeTestModel {
 
1471
 
 
1472
/**
 
1473
 * name property
 
1474
 *
 
1475
 * @var string 'SomethingElse'
 
1476
 * @access public
 
1477
 */
 
1478
        var $name = 'SomethingElse';
 
1479
 
 
1480
/**
 
1481
 * hasAndBelongsToMany property
 
1482
 *
 
1483
 * @var array
 
1484
 * @access public
 
1485
 */
 
1486
        var $hasAndBelongsToMany = array('Something' => array('with' => 'JoinThing'));
 
1487
}
 
1488
 
 
1489
/**
 
1490
 * JoinThing class
 
1491
 *
 
1492
 * @package       cake
 
1493
 * @subpackage    cake.tests.cases.libs.model
 
1494
 */
 
1495
class JoinThing extends CakeTestModel {
 
1496
 
 
1497
/**
 
1498
 * name property
 
1499
 *
 
1500
 * @var string 'JoinThing'
 
1501
 * @access public
 
1502
 */
 
1503
        var $name = 'JoinThing';
 
1504
 
 
1505
/**
 
1506
 * belongsTo property
 
1507
 *
 
1508
 * @var array
 
1509
 * @access public
 
1510
 */
 
1511
        var $belongsTo = array('Something', 'SomethingElse');
 
1512
}
 
1513
 
 
1514
/**
 
1515
 * Portfolio class
 
1516
 *
 
1517
 * @package       cake
 
1518
 * @subpackage    cake.tests.cases.libs.model
 
1519
 */
 
1520
class Portfolio extends CakeTestModel {
 
1521
 
 
1522
/**
 
1523
 * name property
 
1524
 *
 
1525
 * @var string 'Portfolio'
 
1526
 * @access public
 
1527
 */
 
1528
        var $name = 'Portfolio';
 
1529
 
 
1530
/**
 
1531
 * hasAndBelongsToMany property
 
1532
 *
 
1533
 * @var array
 
1534
 * @access public
 
1535
 */
 
1536
        var $hasAndBelongsToMany = array('Item');
 
1537
}
 
1538
 
 
1539
/**
 
1540
 * Item class
 
1541
 *
 
1542
 * @package       cake
 
1543
 * @subpackage    cake.tests.cases.libs.model
 
1544
 */
 
1545
class Item extends CakeTestModel {
 
1546
 
 
1547
/**
 
1548
 * name property
 
1549
 *
 
1550
 * @var string 'Item'
 
1551
 * @access public
 
1552
 */
 
1553
        var $name = 'Item';
 
1554
 
 
1555
/**
 
1556
 * belongsTo property
 
1557
 *
 
1558
 * @var array
 
1559
 * @access public
 
1560
 */
 
1561
        var $belongsTo = array('Syfile' => array('counterCache' => true));
 
1562
 
 
1563
/**
 
1564
 * hasAndBelongsToMany property
 
1565
 *
 
1566
 * @var array
 
1567
 * @access public
 
1568
 */
 
1569
        var $hasAndBelongsToMany = array('Portfolio' => array('unique' => false));
 
1570
}
 
1571
 
 
1572
/**
 
1573
 * ItemsPortfolio class
 
1574
 *
 
1575
 * @package       cake
 
1576
 * @subpackage    cake.tests.cases.libs.model
 
1577
 */
 
1578
class ItemsPortfolio extends CakeTestModel {
 
1579
 
 
1580
/**
 
1581
 * name property
 
1582
 *
 
1583
 * @var string 'ItemsPortfolio'
 
1584
 * @access public
 
1585
 */
 
1586
        var $name = 'ItemsPortfolio';
 
1587
}
 
1588
 
 
1589
/**
 
1590
 * Syfile class
 
1591
 *
 
1592
 * @package       cake
 
1593
 * @subpackage    cake.tests.cases.libs.model
 
1594
 */
 
1595
class Syfile extends CakeTestModel {
 
1596
 
 
1597
/**
 
1598
 * name property
 
1599
 *
 
1600
 * @var string 'Syfile'
 
1601
 * @access public
 
1602
 */
 
1603
        var $name = 'Syfile';
 
1604
 
 
1605
/**
 
1606
 * belongsTo property
 
1607
 *
 
1608
 * @var array
 
1609
 * @access public
 
1610
 */
 
1611
        var $belongsTo = array('Image');
 
1612
}
 
1613
 
 
1614
/**
 
1615
 * Image class
 
1616
 *
 
1617
 * @package       cake
 
1618
 * @subpackage    cake.tests.cases.libs.model
 
1619
 */
 
1620
class Image extends CakeTestModel {
 
1621
 
 
1622
/**
 
1623
 * name property
 
1624
 *
 
1625
 * @var string 'Image'
 
1626
 * @access public
 
1627
 */
 
1628
        var $name = 'Image';
 
1629
}
 
1630
 
 
1631
/**
 
1632
 * DeviceType class
 
1633
 *
 
1634
 * @package       cake
 
1635
 * @subpackage    cake.tests.cases.libs.model
 
1636
 */
 
1637
class DeviceType extends CakeTestModel {
 
1638
 
 
1639
/**
 
1640
 * name property
 
1641
 *
 
1642
 * @var string 'DeviceType'
 
1643
 * @access public
 
1644
 */
 
1645
        var $name = 'DeviceType';
 
1646
 
 
1647
/**
 
1648
 * order property
 
1649
 *
 
1650
 * @var array
 
1651
 * @access public
 
1652
 */
 
1653
        var $order = array('DeviceType.order' => 'ASC');
 
1654
 
 
1655
/**
 
1656
 * belongsTo property
 
1657
 *
 
1658
 * @var array
 
1659
 * @access public
 
1660
 */
 
1661
        var $belongsTo = array(
 
1662
                'DeviceTypeCategory', 'FeatureSet', 'ExteriorTypeCategory',
 
1663
                'Image' => array('className' => 'Document'),
 
1664
                'Extra1' => array('className' => 'Document'),
 
1665
                'Extra2' => array('className' => 'Document'));
 
1666
 
 
1667
/**
 
1668
 * hasMany property
 
1669
 *
 
1670
 * @var array
 
1671
 * @access public
 
1672
 */
 
1673
        var $hasMany = array('Device' => array('order' => array('Device.id' => 'ASC')));
 
1674
}
 
1675
 
 
1676
/**
 
1677
 * DeviceTypeCategory class
 
1678
 *
 
1679
 * @package       cake
 
1680
 * @subpackage    cake.tests.cases.libs.model
 
1681
 */
 
1682
class DeviceTypeCategory extends CakeTestModel {
 
1683
 
 
1684
/**
 
1685
 * name property
 
1686
 *
 
1687
 * @var string 'DeviceTypeCategory'
 
1688
 * @access public
 
1689
 */
 
1690
        var $name = 'DeviceTypeCategory';
 
1691
}
 
1692
 
 
1693
/**
 
1694
 * FeatureSet class
 
1695
 *
 
1696
 * @package       cake
 
1697
 * @subpackage    cake.tests.cases.libs.model
 
1698
 */
 
1699
class FeatureSet extends CakeTestModel {
 
1700
 
 
1701
/**
 
1702
 * name property
 
1703
 *
 
1704
 * @var string 'FeatureSet'
 
1705
 * @access public
 
1706
 */
 
1707
        var $name = 'FeatureSet';
 
1708
}
 
1709
 
 
1710
/**
 
1711
 * ExteriorTypeCategory class
 
1712
 *
 
1713
 * @package       cake
 
1714
 * @subpackage    cake.tests.cases.libs.model
 
1715
 */
 
1716
class ExteriorTypeCategory extends CakeTestModel {
 
1717
 
 
1718
/**
 
1719
 * name property
 
1720
 *
 
1721
 * @var string 'ExteriorTypeCategory'
 
1722
 * @access public
 
1723
 */
 
1724
        var $name = 'ExteriorTypeCategory';
 
1725
 
 
1726
/**
 
1727
 * belongsTo property
 
1728
 *
 
1729
 * @var array
 
1730
 * @access public
 
1731
 */
 
1732
        var $belongsTo = array('Image' => array('className' => 'Device'));
 
1733
}
 
1734
 
 
1735
/**
 
1736
 * Document class
 
1737
 *
 
1738
 * @package       cake
 
1739
 * @subpackage    cake.tests.cases.libs.model
 
1740
 */
 
1741
class Document extends CakeTestModel {
 
1742
 
 
1743
/**
 
1744
 * name property
 
1745
 *
 
1746
 * @var string 'Document'
 
1747
 * @access public
 
1748
 */
 
1749
        var $name = 'Document';
 
1750
 
 
1751
/**
 
1752
 * belongsTo property
 
1753
 *
 
1754
 * @var array
 
1755
 * @access public
 
1756
 */
 
1757
        var $belongsTo = array('DocumentDirectory');
 
1758
}
 
1759
 
 
1760
/**
 
1761
 * Device class
 
1762
 *
 
1763
 * @package       cake
 
1764
 * @subpackage    cake.tests.cases.libs.model
 
1765
 */
 
1766
class Device extends CakeTestModel {
 
1767
 
 
1768
/**
 
1769
 * name property
 
1770
 *
 
1771
 * @var string 'Device'
 
1772
 * @access public
 
1773
 */
 
1774
        var $name = 'Device';
 
1775
}
 
1776
 
 
1777
/**
 
1778
 * DocumentDirectory class
 
1779
 *
 
1780
 * @package       cake
 
1781
 * @subpackage    cake.tests.cases.libs.model
 
1782
 */
 
1783
class DocumentDirectory extends CakeTestModel {
 
1784
 
 
1785
/**
 
1786
 * name property
 
1787
 *
 
1788
 * @var string 'DocumentDirectory'
 
1789
 * @access public
 
1790
 */
 
1791
        var $name = 'DocumentDirectory';
 
1792
}
 
1793
 
 
1794
/**
 
1795
 * PrimaryModel class
 
1796
 *
 
1797
 * @package       cake
 
1798
 * @subpackage    cake.tests.cases.libs.model
 
1799
 */
 
1800
class PrimaryModel extends CakeTestModel {
 
1801
 
 
1802
/**
 
1803
 * name property
 
1804
 *
 
1805
 * @var string 'PrimaryModel'
 
1806
 * @access public
 
1807
 */
 
1808
        var $name = 'PrimaryModel';
 
1809
}
 
1810
 
 
1811
/**
 
1812
 * SecondaryModel class
 
1813
 *
 
1814
 * @package       cake
 
1815
 * @subpackage    cake.tests.cases.libs.model
 
1816
 */
 
1817
class SecondaryModel extends CakeTestModel {
 
1818
 
 
1819
/**
 
1820
 * name property
 
1821
 *
 
1822
 * @var string 'SecondaryModel'
 
1823
 * @access public
 
1824
 */
 
1825
        var $name = 'SecondaryModel';
 
1826
}
 
1827
 
 
1828
/**
 
1829
 * JoinA class
 
1830
 *
 
1831
 * @package       cake
 
1832
 * @subpackage    cake.tests.cases.libs.model
 
1833
 */
 
1834
class JoinA extends CakeTestModel {
 
1835
 
 
1836
/**
 
1837
 * name property
 
1838
 *
 
1839
 * @var string 'JoinA'
 
1840
 * @access public
 
1841
 */
 
1842
        var $name = 'JoinA';
 
1843
 
 
1844
/**
 
1845
 * hasAndBelongsToMany property
 
1846
 *
 
1847
 * @var array
 
1848
 * @access public
 
1849
 */
 
1850
        var $hasAndBelongsToMany = array('JoinB', 'JoinC');
 
1851
}
 
1852
 
 
1853
/**
 
1854
 * JoinB class
 
1855
 *
 
1856
 * @package       cake
 
1857
 * @subpackage    cake.tests.cases.libs.model
 
1858
 */
 
1859
class JoinB extends CakeTestModel {
 
1860
 
 
1861
/**
 
1862
 * name property
 
1863
 *
 
1864
 * @var string 'JoinB'
 
1865
 * @access public
 
1866
 */
 
1867
        var $name = 'JoinB';
 
1868
 
 
1869
/**
 
1870
 * hasAndBelongsToMany property
 
1871
 *
 
1872
 * @var array
 
1873
 * @access public
 
1874
 */
 
1875
        var $hasAndBelongsToMany = array('JoinA');
 
1876
}
 
1877
 
 
1878
/**
 
1879
 * JoinC class
 
1880
 *
 
1881
 * @package       cake
 
1882
 * @subpackage    cake.tests.cases.libs.model
 
1883
 */
 
1884
class JoinC extends CakeTestModel {
 
1885
 
 
1886
/**
 
1887
 * name property
 
1888
 *
 
1889
 * @var string 'JoinC'
 
1890
 * @access public
 
1891
 */
 
1892
        var $name = 'JoinC';
 
1893
 
 
1894
/**
 
1895
 * hasAndBelongsToMany property
 
1896
 *
 
1897
 * @var array
 
1898
 * @access public
 
1899
 */
 
1900
        var $hasAndBelongsToMany = array('JoinA');
 
1901
}
 
1902
 
 
1903
/**
 
1904
 * ThePaper class
 
1905
 *
 
1906
 * @package       cake
 
1907
 * @subpackage    cake.tests.cases.libs.model
 
1908
 */
 
1909
class ThePaper extends CakeTestModel {
 
1910
 
 
1911
/**
 
1912
 * name property
 
1913
 *
 
1914
 * @var string 'ThePaper'
 
1915
 * @access public
 
1916
 */
 
1917
        var $name = 'ThePaper';
 
1918
 
 
1919
/**
 
1920
 * useTable property
 
1921
 *
 
1922
 * @var string 'apples'
 
1923
 * @access public
 
1924
 */
 
1925
        var $useTable = 'apples';
 
1926
 
 
1927
/**
 
1928
 * hasOne property
 
1929
 *
 
1930
 * @var array
 
1931
 * @access public
 
1932
 */
 
1933
        var $hasOne = array('Itself' => array('className' => 'ThePaper', 'foreignKey' => 'apple_id'));
 
1934
 
 
1935
/**
 
1936
 * hasAndBelongsToMany property
 
1937
 *
 
1938
 * @var array
 
1939
 * @access public
 
1940
 */
 
1941
        var $hasAndBelongsToMany = array('Monkey' => array('joinTable' => 'the_paper_monkies', 'order' => 'id'));
 
1942
}
 
1943
 
 
1944
/**
 
1945
 * Monkey class
 
1946
 *
 
1947
 * @package       cake
 
1948
 * @subpackage    cake.tests.cases.libs.model
 
1949
 */
 
1950
class Monkey extends CakeTestModel {
 
1951
 
 
1952
/**
 
1953
 * name property
 
1954
 *
 
1955
 * @var string 'Monkey'
 
1956
 * @access public
 
1957
 */
 
1958
        var $name = 'Monkey';
 
1959
 
 
1960
/**
 
1961
 * useTable property
 
1962
 *
 
1963
 * @var string 'devices'
 
1964
 * @access public
 
1965
 */
 
1966
        var $useTable = 'devices';
 
1967
}
 
1968
 
 
1969
/**
 
1970
 * AssociationTest1 class
 
1971
 *
 
1972
 * @package       cake
 
1973
 * @subpackage    cake.tests.cases.libs.model
 
1974
 */
 
1975
class AssociationTest1 extends CakeTestModel {
 
1976
 
 
1977
/**
 
1978
 * useTable property
 
1979
 *
 
1980
 * @var string 'join_as'
 
1981
 * @access public
 
1982
 */
 
1983
        var $useTable = 'join_as';
 
1984
 
 
1985
/**
 
1986
 * name property
 
1987
 *
 
1988
 * @var string 'AssociationTest1'
 
1989
 * @access public
 
1990
 */
 
1991
        var $name = 'AssociationTest1';
 
1992
 
 
1993
/**
 
1994
 * hasAndBelongsToMany property
 
1995
 *
 
1996
 * @var array
 
1997
 * @access public
 
1998
 */
 
1999
        var $hasAndBelongsToMany = array('AssociationTest2' => array(
 
2000
                'unique' => false, 'joinTable' => 'join_as_join_bs', 'foreignKey' => false
 
2001
        ));
 
2002
}
 
2003
 
 
2004
/**
 
2005
 * AssociationTest2 class
 
2006
 *
 
2007
 * @package       cake
 
2008
 * @subpackage    cake.tests.cases.libs.model
 
2009
 */
 
2010
class AssociationTest2 extends CakeTestModel {
 
2011
 
 
2012
/**
 
2013
 * useTable property
 
2014
 *
 
2015
 * @var string 'join_bs'
 
2016
 * @access public
 
2017
 */
 
2018
        var $useTable = 'join_bs';
 
2019
 
 
2020
/**
 
2021
 * name property
 
2022
 *
 
2023
 * @var string 'AssociationTest2'
 
2024
 * @access public
 
2025
 */
 
2026
        var $name = 'AssociationTest2';
 
2027
 
 
2028
/**
 
2029
 * hasAndBelongsToMany property
 
2030
 *
 
2031
 * @var array
 
2032
 * @access public
 
2033
 */
 
2034
        var $hasAndBelongsToMany = array('AssociationTest1' => array(
 
2035
                'unique' => false, 'joinTable' => 'join_as_join_bs'
 
2036
        ));
 
2037
}
 
2038
 
 
2039
/**
 
2040
 * Callback class
 
2041
 *
 
2042
 * @package       cake
 
2043
 * @subpackage    cake.tests.cases.libs.model
 
2044
 */
 
2045
class Callback extends CakeTestModel {
 
2046
 
 
2047
}
 
2048
/**
 
2049
 * CallbackPostTestModel class
 
2050
 *
 
2051
 * @package       cake
 
2052
 * @subpackage    cake.tests.cases.libs.model
 
2053
 */
 
2054
class CallbackPostTestModel extends CakeTestModel {
 
2055
        var $useTable = 'posts';
 
2056
/**
 
2057
 * variable to control return of beforeValidate
 
2058
 *
 
2059
 * @var string
 
2060
 */
 
2061
        var $beforeValidateReturn = true;
 
2062
/**
 
2063
 * variable to control return of beforeSave
 
2064
 *
 
2065
 * @var string
 
2066
 */
 
2067
        var $beforeSaveReturn = true;
 
2068
/**
 
2069
 * variable to control return of beforeDelete
 
2070
 *
 
2071
 * @var string
 
2072
 */
 
2073
        var $beforeDeleteReturn = true;
 
2074
/**
 
2075
 * beforeSave callback
 
2076
 *
 
2077
 * @return void
 
2078
 */
 
2079
        function beforeSave($options) {
 
2080
                return $this->beforeSaveReturn;
 
2081
        }
 
2082
/**
 
2083
 * beforeValidate callback
 
2084
 *
 
2085
 * @return void
 
2086
 */
 
2087
        function beforeValidate($options) {
 
2088
                return $this->beforeValidateReturn;
 
2089
        }
 
2090
/**
 
2091
 * beforeDelete callback
 
2092
 *
 
2093
 * @return void
 
2094
 */
 
2095
        function beforeDelete($cascade = true) {
 
2096
                return $this->beforeDeleteReturn;
 
2097
        }
 
2098
}
 
2099
 
 
2100
/**
 
2101
 * Uuid class
 
2102
 *
 
2103
 * @package       cake
 
2104
 * @subpackage    cake.tests.cases.libs.model
 
2105
 */
 
2106
class Uuid extends CakeTestModel {
 
2107
 
 
2108
/**
 
2109
 * name property
 
2110
 *
 
2111
 * @var string 'Uuid'
 
2112
 * @access public
 
2113
 */
 
2114
        var $name = 'Uuid';
 
2115
}
 
2116
 
 
2117
/**
 
2118
 * DataTest class
 
2119
 *
 
2120
 * @package       cake
 
2121
 * @subpackage    cake.tests.cases.libs.model
 
2122
 */
 
2123
class DataTest extends CakeTestModel {
 
2124
 
 
2125
/**
 
2126
 * name property
 
2127
 *
 
2128
 * @var string 'DataTest'
 
2129
 * @access public
 
2130
 */
 
2131
        var $name = 'DataTest';
 
2132
}
 
2133
 
 
2134
/**
 
2135
 * TheVoid class
 
2136
 *
 
2137
 * @package       cake
 
2138
 * @subpackage    cake.tests.cases.libs.model
 
2139
 */
 
2140
class TheVoid extends CakeTestModel {
 
2141
 
 
2142
/**
 
2143
 * name property
 
2144
 *
 
2145
 * @var string 'TheVoid'
 
2146
 * @access public
 
2147
 */
 
2148
        var $name = 'TheVoid';
 
2149
 
 
2150
/**
 
2151
 * useTable property
 
2152
 *
 
2153
 * @var bool false
 
2154
 * @access public
 
2155
 */
 
2156
        var $useTable = false;
 
2157
}
 
2158
 
 
2159
/**
 
2160
 * ValidationTest1 class
 
2161
 *
 
2162
 * @package       cake
 
2163
 * @subpackage    cake.tests.cases.libs.model
 
2164
 */
 
2165
class ValidationTest1 extends CakeTestModel {
 
2166
 
 
2167
/**
 
2168
 * name property
 
2169
 *
 
2170
 * @var string 'ValidationTest'
 
2171
 * @access public
 
2172
 */
 
2173
        var $name = 'ValidationTest1';
 
2174
 
 
2175
/**
 
2176
 * useTable property
 
2177
 *
 
2178
 * @var bool false
 
2179
 * @access public
 
2180
 */
 
2181
        var $useTable = false;
 
2182
 
 
2183
/**
 
2184
 * schema property
 
2185
 *
 
2186
 * @var array
 
2187
 * @access protected
 
2188
 */
 
2189
        var $_schema = array();
 
2190
 
 
2191
/**
 
2192
 * validate property
 
2193
 *
 
2194
 * @var array
 
2195
 * @access public
 
2196
 */
 
2197
        var $validate = array(
 
2198
                'title' => 'notEmpty',
 
2199
                'published' => 'customValidationMethod',
 
2200
                'body' => array(
 
2201
                        'notEmpty',
 
2202
                        '/^.{5,}$/s' => 'no matchy',
 
2203
                        '/^[0-9A-Za-z \\.]{1,}$/s'
 
2204
                )
 
2205
        );
 
2206
 
 
2207
/**
 
2208
 * customValidationMethod method
 
2209
 *
 
2210
 * @param mixed $data
 
2211
 * @access public
 
2212
 * @return void
 
2213
 */
 
2214
        function customValidationMethod($data) {
 
2215
                return $data === 1;
 
2216
        }
 
2217
 
 
2218
/**
 
2219
 * Custom validator with parameters + default values
 
2220
 *
 
2221
 * @access public
 
2222
 * @return array
 
2223
 */
 
2224
        function customValidatorWithParams($data, $validator, $or = true, $ignore_on_same = 'id') {
 
2225
                $this->validatorParams = get_defined_vars();
 
2226
                unset($this->validatorParams['this']);
 
2227
                return true;
 
2228
        }
 
2229
 
 
2230
/**
 
2231
 * Custom validator with messaage
 
2232
 *
 
2233
 * @access public
 
2234
 * @return array
 
2235
 */
 
2236
        function customValidatorWithMessage($data) {
 
2237
                return 'This field will *never* validate! Muhahaha!';
 
2238
        }
 
2239
/**
 
2240
 * Test validation with many parameters
 
2241
 *
 
2242
 * @return void
 
2243
 */
 
2244
        function customValidatorWithSixParams($data, $one = 1, $two = 2, $three = 3, $four = 4, $five = 5, $six = 6) {
 
2245
                $this->validatorParams = get_defined_vars();
 
2246
                unset($this->validatorParams['this']);
 
2247
                return true;
 
2248
        }
 
2249
}
 
2250
 
 
2251
/**
 
2252
 * ValidationTest2 class
 
2253
 *
 
2254
 * @package       cake
 
2255
 * @subpackage    cake.tests.cases.libs.model
 
2256
 */
 
2257
class ValidationTest2 extends CakeTestModel {
 
2258
 
 
2259
/**
 
2260
 * name property
 
2261
 *
 
2262
 * @var string 'ValidationTest2'
 
2263
 * @access public
 
2264
 */
 
2265
        var $name = 'ValidationTest2';
 
2266
 
 
2267
/**
 
2268
 * useTable property
 
2269
 *
 
2270
 * @var bool false
 
2271
 * @access public
 
2272
 */
 
2273
        var $useTable = false;
 
2274
 
 
2275
/**
 
2276
 * validate property
 
2277
 *
 
2278
 * @var array
 
2279
 * @access public
 
2280
 */
 
2281
        var $validate = array(
 
2282
                'title' => 'notEmpty',
 
2283
                'published' => 'customValidationMethod',
 
2284
                'body' => array(
 
2285
                        'notEmpty',
 
2286
                        '/^.{5,}$/s' => 'no matchy',
 
2287
                        '/^[0-9A-Za-z \\.]{1,}$/s'
 
2288
                )
 
2289
        );
 
2290
 
 
2291
/**
 
2292
 * customValidationMethod method
 
2293
 *
 
2294
 * @param mixed $data
 
2295
 * @access public
 
2296
 * @return void
 
2297
 */
 
2298
        function customValidationMethod($data) {
 
2299
                return $data === 1;
 
2300
        }
 
2301
 
 
2302
/**
 
2303
 * schema method
 
2304
 *
 
2305
 * @access public
 
2306
 * @return void
 
2307
 */
 
2308
        function schema() {
 
2309
                return array();
 
2310
        }
 
2311
}
 
2312
 
 
2313
/**
 
2314
 * Person class
 
2315
 *
 
2316
 * @package       cake
 
2317
 * @subpackage    cake.tests.cases.libs.model
 
2318
 */
 
2319
class Person extends CakeTestModel {
 
2320
 
 
2321
/**
 
2322
 * name property
 
2323
 *
 
2324
 * @var string 'Person'
 
2325
 * @access public
 
2326
 */
 
2327
        var $name = 'Person';
 
2328
 
 
2329
/**
 
2330
 * belongsTo property
 
2331
 *
 
2332
 * @var array
 
2333
 * @access public
 
2334
 */
 
2335
        var $belongsTo = array(
 
2336
                        'Mother' => array(
 
2337
                                'className' => 'Person',
 
2338
                                'foreignKey' => 'mother_id'),
 
2339
                        'Father' => array(
 
2340
                                'className' => 'Person',
 
2341
                                'foreignKey' => 'father_id'));
 
2342
}
 
2343
 
 
2344
/**
 
2345
 * UnderscoreField class
 
2346
 *
 
2347
 * @package       cake
 
2348
 * @subpackage    cake.tests.cases.libs.model
 
2349
 */
 
2350
class UnderscoreField extends CakeTestModel {
 
2351
 
 
2352
/**
 
2353
 * name property
 
2354
 *
 
2355
 * @var string 'UnderscoreField'
 
2356
 * @access public
 
2357
 */
 
2358
        var $name = 'UnderscoreField';
 
2359
}
 
2360
 
 
2361
/**
 
2362
 * Product class
 
2363
 *
 
2364
 * @package       cake
 
2365
 * @subpackage    cake.tests.cases.libs.model
 
2366
 */
 
2367
class Product extends CakeTestModel {
 
2368
 
 
2369
/**
 
2370
 * name property
 
2371
 *
 
2372
 * @var string 'Product'
 
2373
 * @access public
 
2374
 */
 
2375
        var $name = 'Product';
 
2376
}
 
2377
 
 
2378
/**
 
2379
 * Story class
 
2380
 *
 
2381
 * @package       cake
 
2382
 * @subpackage    cake.tests.cases.libs.model
 
2383
 */
 
2384
class Story extends CakeTestModel {
 
2385
 
 
2386
/**
 
2387
 * name property
 
2388
 *
 
2389
 * @var string 'Story'
 
2390
 * @access public
 
2391
 */
 
2392
        var $name = 'Story';
 
2393
 
 
2394
/**
 
2395
 * primaryKey property
 
2396
 *
 
2397
 * @var string 'story'
 
2398
 * @access public
 
2399
 */
 
2400
        var $primaryKey = 'story';
 
2401
 
 
2402
/**
 
2403
 * hasAndBelongsToMany property
 
2404
 *
 
2405
 * @var array
 
2406
 * @access public
 
2407
 */
 
2408
        var $hasAndBelongsToMany = array('Tag' => array('foreignKey' => 'story'));
 
2409
 
 
2410
/**
 
2411
 * validate property
 
2412
 *
 
2413
 * @var array
 
2414
 * @access public
 
2415
 */
 
2416
        var $validate = array('title' => 'notEmpty');
 
2417
}
 
2418
 
 
2419
/**
 
2420
 * Cd class
 
2421
 *
 
2422
 * @package       cake
 
2423
 * @subpackage    cake.tests.cases.libs.model
 
2424
 */
 
2425
class Cd extends CakeTestModel {
 
2426
 
 
2427
/**
 
2428
 * name property
 
2429
 *
 
2430
 * @var string 'Cd'
 
2431
 * @access public
 
2432
 */
 
2433
        var $name = 'Cd';
 
2434
 
 
2435
/**
 
2436
 * hasOne property
 
2437
 *
 
2438
 * @var array
 
2439
 * @access public
 
2440
 */
 
2441
        var $hasOne = array('OverallFavorite' => array('foreignKey' => 'model_id', 'dependent' => true, 'conditions' => array('model_type' => 'Cd')));
 
2442
}
 
2443
 
 
2444
/**
 
2445
 * Book class
 
2446
 *
 
2447
 * @package       cake
 
2448
 * @subpackage    cake.tests.cases.libs.model
 
2449
 */
 
2450
class Book extends CakeTestModel {
 
2451
 
 
2452
/**
 
2453
 * name property
 
2454
 *
 
2455
 * @var string 'Book'
 
2456
 * @access public
 
2457
 */
 
2458
        var $name = 'Book';
 
2459
 
 
2460
/**
 
2461
 * hasOne property
 
2462
 *
 
2463
 * @var array
 
2464
 * @access public
 
2465
 */
 
2466
        var $hasOne = array('OverallFavorite' => array('foreignKey' => 'model_id', 'dependent' => true, 'conditions' => 'OverallFavorite.model_type = \'Book\''));
 
2467
}
 
2468
 
 
2469
/**
 
2470
 * OverallFavorite class
 
2471
 *
 
2472
 * @package       cake
 
2473
 * @subpackage    cake.tests.cases.libs.model
 
2474
 */
 
2475
class OverallFavorite extends CakeTestModel {
 
2476
 
 
2477
/**
 
2478
 * name property
 
2479
 *
 
2480
 * @var string 'OverallFavorite'
 
2481
 * @access public
 
2482
 */
 
2483
        var $name = 'OverallFavorite';
 
2484
}
 
2485
 
 
2486
/**
 
2487
 * MyUser class
 
2488
 *
 
2489
 * @package       cake
 
2490
 * @subpackage    cake.tests.cases.libs.model
 
2491
 */
 
2492
class MyUser extends CakeTestModel {
 
2493
 
 
2494
/**
 
2495
 * name property
 
2496
 *
 
2497
 * @var string 'MyUser'
 
2498
 * @access public
 
2499
 */
 
2500
        var $name = 'MyUser';
 
2501
 
 
2502
/**
 
2503
 * undocumented variable
 
2504
 *
 
2505
 * @var string
 
2506
 * @access public
 
2507
 */
 
2508
        var $hasAndBelongsToMany = array('MyCategory');
 
2509
}
 
2510
 
 
2511
/**
 
2512
 * MyCategory class
 
2513
 *
 
2514
 * @package       cake
 
2515
 * @subpackage    cake.tests.cases.libs.model
 
2516
 */
 
2517
class MyCategory extends CakeTestModel {
 
2518
 
 
2519
/**
 
2520
 * name property
 
2521
 *
 
2522
 * @var string 'MyCategory'
 
2523
 * @access public
 
2524
 */
 
2525
        var $name = 'MyCategory';
 
2526
 
 
2527
/**
 
2528
 * undocumented variable
 
2529
 *
 
2530
 * @var string
 
2531
 * @access public
 
2532
 */
 
2533
        var $hasAndBelongsToMany = array('MyProduct', 'MyUser');
 
2534
}
 
2535
 
 
2536
/**
 
2537
 * MyProduct class
 
2538
 *
 
2539
 * @package       cake
 
2540
 * @subpackage    cake.tests.cases.libs.model
 
2541
 */
 
2542
class MyProduct extends CakeTestModel {
 
2543
 
 
2544
/**
 
2545
 * name property
 
2546
 *
 
2547
 * @var string 'MyProduct'
 
2548
 * @access public
 
2549
 */
 
2550
        var $name = 'MyProduct';
 
2551
 
 
2552
/**
 
2553
 * undocumented variable
 
2554
 *
 
2555
 * @var string
 
2556
 * @access public
 
2557
 */
 
2558
        var $hasAndBelongsToMany = array('MyCategory');
 
2559
}
 
2560
 
 
2561
/**
 
2562
 * MyCategoriesMyUser class
 
2563
 *
 
2564
 * @package       cake
 
2565
 * @subpackage    cake.tests.cases.libs.model
 
2566
 */
 
2567
class MyCategoriesMyUser extends CakeTestModel {
 
2568
 
 
2569
/**
 
2570
 * name property
 
2571
 *
 
2572
 * @var string 'MyCategoriesMyUser'
 
2573
 * @access public
 
2574
 */
 
2575
        var $name = 'MyCategoriesMyUser';
 
2576
}
 
2577
 
 
2578
/**
 
2579
 * MyCategoriesMyProduct class
 
2580
 *
 
2581
 * @package       cake
 
2582
 * @subpackage    cake.tests.cases.libs.model
 
2583
 */
 
2584
class MyCategoriesMyProduct extends CakeTestModel {
 
2585
 
 
2586
/**
 
2587
 * name property
 
2588
 *
 
2589
 * @var string 'MyCategoriesMyProduct'
 
2590
 * @access public
 
2591
 */
 
2592
        var $name = 'MyCategoriesMyProduct';
 
2593
}
 
2594
 
 
2595
/**
 
2596
 * I18nModel class
 
2597
 *
 
2598
 * @package       cake
 
2599
 * @subpackage    cake.tests.cases.libs.model
 
2600
 */
 
2601
class I18nModel extends CakeTestModel {
 
2602
 
 
2603
/**
 
2604
 * name property
 
2605
 *
 
2606
 * @var string 'I18nModel'
 
2607
 * @access public
 
2608
 */
 
2609
        var $name = 'I18nModel';
 
2610
 
 
2611
/**
 
2612
 * useTable property
 
2613
 *
 
2614
 * @var string 'i18n'
 
2615
 * @access public
 
2616
 */
 
2617
        var $useTable = 'i18n';
 
2618
 
 
2619
/**
 
2620
 * displayField property
 
2621
 *
 
2622
 * @var string 'field'
 
2623
 * @access public
 
2624
 */
 
2625
        var $displayField = 'field';
 
2626
}
 
2627
 
 
2628
/**
 
2629
 * NumberTree class
 
2630
 *
 
2631
 * @package       cake
 
2632
 * @subpackage    cake.tests.cases.libs.model
 
2633
 */
 
2634
class NumberTree extends CakeTestModel {
 
2635
 
 
2636
/**
 
2637
 * name property
 
2638
 *
 
2639
 * @var string 'NumberTree'
 
2640
 * @access public
 
2641
 */
 
2642
        var $name = 'NumberTree';
 
2643
 
 
2644
/**
 
2645
 * actsAs property
 
2646
 *
 
2647
 * @var array
 
2648
 * @access public
 
2649
 */
 
2650
        var $actsAs = array('Tree');
 
2651
 
 
2652
/**
 
2653
 * initialize method
 
2654
 *
 
2655
 * @param int $levelLimit
 
2656
 * @param int $childLimit
 
2657
 * @param mixed $currentLevel
 
2658
 * @param mixed $parent_id
 
2659
 * @param string $prefix
 
2660
 * @param bool $hierachial
 
2661
 * @access public
 
2662
 * @return void
 
2663
 */
 
2664
        function initialize($levelLimit = 3, $childLimit = 3, $currentLevel = null, $parent_id = null, $prefix = '1', $hierachial = true) {
 
2665
                if (!$parent_id) {
 
2666
                        $db =& ConnectionManager::getDataSource($this->useDbConfig);
 
2667
                        $db->truncate($this->table);
 
2668
                        $this->save(array($this->name => array('name' => '1. Root')));
 
2669
                        $this->initialize($levelLimit, $childLimit, 1, $this->id, '1', $hierachial);
 
2670
                        $this->create(array());
 
2671
                }
 
2672
 
 
2673
                if (!$currentLevel || $currentLevel > $levelLimit) {
 
2674
                        return;
 
2675
                }
 
2676
 
 
2677
                for ($i = 1; $i <= $childLimit; $i++) {
 
2678
                        $name = $prefix . '.' . $i;
 
2679
                        $data = array($this->name => array('name' => $name));
 
2680
                        $this->create($data);
 
2681
 
 
2682
                        if ($hierachial) {
 
2683
                                if ($this->name == 'UnconventionalTree') {
 
2684
                                        $data[$this->name]['join'] = $parent_id;
 
2685
                                } else {
 
2686
                                        $data[$this->name]['parent_id'] = $parent_id;
 
2687
                                }
 
2688
                        }
 
2689
                        $this->save($data);
 
2690
                        $this->initialize($levelLimit, $childLimit, $currentLevel + 1, $this->id, $name, $hierachial);
 
2691
                }
 
2692
        }
 
2693
}
 
2694
 
 
2695
/**
 
2696
 * NumberTreeTwo class
 
2697
 *
 
2698
 * @package       cake
 
2699
 * @subpackage    cake.tests.cases.libs.model
 
2700
 */
 
2701
class NumberTreeTwo extends NumberTree {
 
2702
 
 
2703
/**
 
2704
 * name property
 
2705
 *
 
2706
 * @var string 'NumberTree'
 
2707
 * @access public
 
2708
 */
 
2709
        var $name = 'NumberTreeTwo';
 
2710
 
 
2711
/**
 
2712
 * actsAs property
 
2713
 *
 
2714
 * @var array
 
2715
 * @access public
 
2716
 */
 
2717
        var $actsAs = array();
 
2718
}
 
2719
 
 
2720
/**
 
2721
 * FlagTree class
 
2722
 *
 
2723
 * @package       cake
 
2724
 * @subpackage    cake.tests.cases.libs.model
 
2725
 */
 
2726
class FlagTree extends NumberTree {
 
2727
 
 
2728
/**
 
2729
 * name property
 
2730
 *
 
2731
 * @var string 'FlagTree'
 
2732
 * @access public
 
2733
 */
 
2734
        var $name = 'FlagTree';
 
2735
}
 
2736
 
 
2737
/**
 
2738
 * UnconventionalTree class
 
2739
 *
 
2740
 * @package       cake
 
2741
 * @subpackage    cake.tests.cases.libs.model
 
2742
 */
 
2743
class UnconventionalTree extends NumberTree {
 
2744
 
 
2745
/**
 
2746
 * name property
 
2747
 *
 
2748
 * @var string 'FlagTree'
 
2749
 * @access public
 
2750
 */
 
2751
        var $name = 'UnconventionalTree';
 
2752
        var $actsAs = array(
 
2753
                'Tree' => array(
 
2754
                        'parent' => 'join',
 
2755
                        'left'  => 'left',
 
2756
                        'right' => 'right'
 
2757
                )
 
2758
        );
 
2759
}
 
2760
 
 
2761
/**
 
2762
 * UuidTree class
 
2763
 *
 
2764
 * @package       cake
 
2765
 * @subpackage    cake.tests.cases.libs.model
 
2766
 */
 
2767
class UuidTree extends NumberTree {
 
2768
 
 
2769
/**
 
2770
 * name property
 
2771
 *
 
2772
 * @var string 'FlagTree'
 
2773
 * @access public
 
2774
 */
 
2775
        var $name = 'UuidTree';
 
2776
}
 
2777
 
 
2778
/**
 
2779
 * Campaign class
 
2780
 *
 
2781
 * @package       cake
 
2782
 * @subpackage    cake.tests.cases.libs.model
 
2783
 */
 
2784
class Campaign extends CakeTestModel {
 
2785
 
 
2786
/**
 
2787
 * name property
 
2788
 *
 
2789
 * @var string 'Campaign'
 
2790
 * @access public
 
2791
 */
 
2792
        var $name = 'Campaign';
 
2793
 
 
2794
/**
 
2795
 * hasMany property
 
2796
 *
 
2797
 * @var array
 
2798
 * @access public
 
2799
 */
 
2800
        var $hasMany = array('Ad' => array('fields' => array('id','campaign_id','name')));
 
2801
}
 
2802
 
 
2803
/**
 
2804
 * Ad class
 
2805
 *
 
2806
 * @package       cake
 
2807
 * @subpackage    cake.tests.cases.libs.model
 
2808
 */
 
2809
class Ad extends CakeTestModel {
 
2810
 
 
2811
/**
 
2812
 * name property
 
2813
 *
 
2814
 * @var string 'Ad'
 
2815
 * @access public
 
2816
 */
 
2817
        var $name = 'Ad';
 
2818
 
 
2819
/**
 
2820
 * actsAs property
 
2821
 *
 
2822
 * @var array
 
2823
 * @access public
 
2824
 */
 
2825
        var $actsAs = array('Tree');
 
2826
 
 
2827
/**
 
2828
 * belongsTo property
 
2829
 *
 
2830
 * @var array
 
2831
 * @access public
 
2832
 */
 
2833
        var $belongsTo = array('Campaign');
 
2834
}
 
2835
 
 
2836
/**
 
2837
 * AfterTree class
 
2838
 *
 
2839
 * @package       cake
 
2840
 * @subpackage    cake.tests.cases.libs.model
 
2841
 */
 
2842
class AfterTree extends NumberTree {
 
2843
 
 
2844
/**
 
2845
 * name property
 
2846
 *
 
2847
 * @var string 'AfterTree'
 
2848
 * @access public
 
2849
 */
 
2850
        var $name = 'AfterTree';
 
2851
 
 
2852
/**
 
2853
 * actsAs property
 
2854
 *
 
2855
 * @var array
 
2856
 * @access public
 
2857
 */
 
2858
        var $actsAs = array('Tree');
 
2859
 
 
2860
        function afterSave($created) {
 
2861
                if ($created && isset($this->data['AfterTree'])) {
 
2862
                        $this->data['AfterTree']['name'] = 'Six and One Half Changed in AfterTree::afterSave() but not in database';
 
2863
                }
 
2864
        }
 
2865
}
 
2866
 
 
2867
/**
 
2868
 * Nonconformant Content class
 
2869
 *
 
2870
 * @package       cake
 
2871
 * @subpackage    cake.tests.cases.libs.model
 
2872
 */
 
2873
class Content extends CakeTestModel {
 
2874
 
 
2875
/**
 
2876
 * name property
 
2877
 *
 
2878
 * @var string 'Content'
 
2879
 * @access public
 
2880
 */
 
2881
        var $name = 'Content';
 
2882
 
 
2883
/**
 
2884
 * useTable property
 
2885
 *
 
2886
 * @var string 'Content'
 
2887
 * @access public
 
2888
 */
 
2889
        var $useTable = 'Content';
 
2890
 
 
2891
/**
 
2892
 * primaryKey property
 
2893
 *
 
2894
 * @var string 'iContentId'
 
2895
 * @access public
 
2896
 */
 
2897
        var $primaryKey = 'iContentId';
 
2898
 
 
2899
/**
 
2900
 * hasAndBelongsToMany property
 
2901
 *
 
2902
 * @var array
 
2903
 * @access public
 
2904
 */
 
2905
        var $hasAndBelongsToMany = array('Account' => array('className' => 'Account', 'with' => 'ContentAccount', 'joinTable' => 'ContentAccounts', 'foreignKey' => 'iContentId', 'associationForeignKey', 'iAccountId'));
 
2906
}
 
2907
 
 
2908
/**
 
2909
 * Nonconformant Account class
 
2910
 *
 
2911
 * @package       cake
 
2912
 * @subpackage    cake.tests.cases.libs.model
 
2913
 */
 
2914
class Account extends CakeTestModel {
 
2915
 
 
2916
/**
 
2917
 * name property
 
2918
 *
 
2919
 * @var string 'Account'
 
2920
 * @access public
 
2921
 */
 
2922
        var $name = 'Account';
 
2923
 
 
2924
/**
 
2925
 * useTable property
 
2926
 *
 
2927
 * @var string 'Account'
 
2928
 * @access public
 
2929
 */
 
2930
        var $useTable = 'Accounts';
 
2931
 
 
2932
/**
 
2933
 * primaryKey property
 
2934
 *
 
2935
 * @var string 'iAccountId'
 
2936
 * @access public
 
2937
 */
 
2938
        var $primaryKey = 'iAccountId';
 
2939
}
 
2940
 
 
2941
/**
 
2942
 * Nonconformant ContentAccount class
 
2943
 *
 
2944
 * @package       cake
 
2945
 * @subpackage    cake.tests.cases.libs.model
 
2946
 */
 
2947
class ContentAccount extends CakeTestModel {
 
2948
 
 
2949
/**
 
2950
 * name property
 
2951
 *
 
2952
 * @var string 'Account'
 
2953
 * @access public
 
2954
 */
 
2955
        var $name = 'ContentAccount';
 
2956
 
 
2957
/**
 
2958
 * useTable property
 
2959
 *
 
2960
 * @var string 'Account'
 
2961
 * @access public
 
2962
 */
 
2963
        var $useTable = 'ContentAccounts';
 
2964
 
 
2965
/**
 
2966
 * primaryKey property
 
2967
 *
 
2968
 * @var string 'iAccountId'
 
2969
 * @access public
 
2970
 */
 
2971
        var $primaryKey = 'iContentAccountsId';
 
2972
}
 
2973
 
 
2974
/**
 
2975
 * FilmFile class
 
2976
 *
 
2977
 * @package       cake
 
2978
 * @subpackage    cake.tests.cases.libs.model
 
2979
 */
 
2980
class FilmFile extends CakeTestModel {
 
2981
        var $name = 'FilmFile';
 
2982
}
 
2983
 
 
2984
/**
 
2985
 * Basket test model
 
2986
 *
 
2987
 * @package       cake
 
2988
 * @subpackage    cake.tests.cases.libs.model
 
2989
 */
 
2990
class Basket extends CakeTestModel {
 
2991
        var $name = 'Basket';
 
2992
 
 
2993
        var $belongsTo = array(
 
2994
                'FilmFile' => array(
 
2995
                        'className' => 'FilmFile',
 
2996
                        'foreignKey' => 'object_id',
 
2997
                        'conditions' => "Basket.type = 'file'",
 
2998
                        'fields' => '',
 
2999
                        'order' => ''
 
3000
                )
 
3001
        );
 
3002
}
 
3003
 
 
3004
/**
 
3005
 * TestPluginArticle class
 
3006
 *
 
3007
 * @package       cake
 
3008
 * @subpackage    cake.tests.cases.libs.model
 
3009
 */
 
3010
class TestPluginArticle extends CakeTestModel {
 
3011
 
 
3012
/**
 
3013
 * name property
 
3014
 *
 
3015
 * @var string 'TestPluginArticle'
 
3016
 * @access public
 
3017
 */
 
3018
        var $name = 'TestPluginArticle';
 
3019
 
 
3020
/**
 
3021
 * belongsTo property
 
3022
 *
 
3023
 * @var array
 
3024
 * @access public
 
3025
 */
 
3026
        var $belongsTo = array('User');
 
3027
 
 
3028
/**
 
3029
 * hasMany property
 
3030
 *
 
3031
 * @var array
 
3032
 * @access public
 
3033
 */
 
3034
        var $hasMany = array(
 
3035
                'TestPluginComment' => array(
 
3036
                        'className' => 'TestPlugin.TestPluginComment',
 
3037
                        'foreignKey' => 'article_id',
 
3038
                        'dependent' => true
 
3039
                )
 
3040
        );
 
3041
}
 
3042
 
 
3043
/**
 
3044
 * TestPluginComment class
 
3045
 *
 
3046
 * @package       cake
 
3047
 * @subpackage    cake.tests.cases.libs.model
 
3048
 */
 
3049
class TestPluginComment extends CakeTestModel {
 
3050
 
 
3051
/**
 
3052
 * name property
 
3053
 *
 
3054
 * @var string 'TestPluginComment'
 
3055
 * @access public
 
3056
 */
 
3057
        var $name = 'TestPluginComment';
 
3058
 
 
3059
/**
 
3060
 * belongsTo property
 
3061
 *
 
3062
 * @var array
 
3063
 * @access public
 
3064
 */
 
3065
        var $belongsTo = array(
 
3066
                'TestPluginArticle' => array(
 
3067
                        'className' => 'TestPlugin.TestPluginArticle',
 
3068
                        'foreignKey' => 'article_id',
 
3069
                ),
 
3070
                'User'
 
3071
        );
 
3072
}
 
3073
 
 
3074
/**
 
3075
 * Uuidportfolio class
 
3076
 *
 
3077
 * @package       cake
 
3078
 * @subpackage    cake.tests.cases.libs.model
 
3079
 */
 
3080
class Uuidportfolio extends CakeTestModel {
 
3081
 
 
3082
/**
 
3083
 * name property
 
3084
 *
 
3085
 * @var string 'Uuidportfolio'
 
3086
 * @access public
 
3087
 */
 
3088
        var $name = 'Uuidportfolio';
 
3089
 
 
3090
/**
 
3091
 * hasAndBelongsToMany property
 
3092
 *
 
3093
 * @var array
 
3094
 * @access public
 
3095
 */
 
3096
        var $hasAndBelongsToMany = array('Uuiditem');
 
3097
}
 
3098
 
 
3099
/**
 
3100
 * Uuiditem class
 
3101
 *
 
3102
 * @package       cake
 
3103
 * @subpackage    cake.tests.cases.libs.model
 
3104
 */
 
3105
class Uuiditem extends CakeTestModel {
 
3106
 
 
3107
/**
 
3108
 * name property
 
3109
 *
 
3110
 * @var string 'Item'
 
3111
 * @access public
 
3112
 */
 
3113
        var $name = 'Uuiditem';
 
3114
 
 
3115
/**
 
3116
 * hasAndBelongsToMany property
 
3117
 *
 
3118
 * @var array
 
3119
 * @access public
 
3120
 */
 
3121
        var $hasAndBelongsToMany = array('Uuidportfolio' => array('with' => 'UuiditemsUuidportfolioNumericid'));
 
3122
 
 
3123
}
 
3124
 
 
3125
/**
 
3126
 * UuiditemsPortfolio class
 
3127
 *
 
3128
 * @package       cake
 
3129
 * @subpackage    cake.tests.cases.libs.model
 
3130
 */
 
3131
class UuiditemsUuidportfolio extends CakeTestModel {
 
3132
 
 
3133
/**
 
3134
 * name property
 
3135
 *
 
3136
 * @var string 'ItemsPortfolio'
 
3137
 * @access public
 
3138
 */
 
3139
        var $name = 'UuiditemsUuidportfolio';
 
3140
}
 
3141
 
 
3142
/**
 
3143
 * UuiditemsPortfolioNumericid class
 
3144
 *
 
3145
 * @package       cake
 
3146
 * @subpackage    cake.tests.cases.libs.model
 
3147
 */
 
3148
class UuiditemsUuidportfolioNumericid extends CakeTestModel {
 
3149
 
 
3150
/**
 
3151
 * name property
 
3152
 *
 
3153
 * @var string
 
3154
 * @access public
 
3155
 */
 
3156
        var $name = 'UuiditemsUuidportfolioNumericid';
 
3157
}
 
3158
 
 
3159
/**
 
3160
 * TranslateTestModel class.
 
3161
 *
 
3162
 * @package       cake
 
3163
 * @subpackage    cake.tests.cases.libs.model
 
3164
 */
 
3165
class TranslateTestModel extends CakeTestModel {
 
3166
 
 
3167
/**
 
3168
 * name property
 
3169
 *
 
3170
 * @var string 'TranslateTestModel'
 
3171
 * @access public
 
3172
 */
 
3173
        var $name = 'TranslateTestModel';
 
3174
 
 
3175
/**
 
3176
 * useTable property
 
3177
 *
 
3178
 * @var string 'i18n'
 
3179
 * @access public
 
3180
 */
 
3181
        var $useTable = 'i18n';
 
3182
 
 
3183
/**
 
3184
 * displayField property
 
3185
 *
 
3186
 * @var string 'field'
 
3187
 * @access public
 
3188
 */
 
3189
        var $displayField = 'field';
 
3190
}
 
3191
 
 
3192
/**
 
3193
 * TranslateTestModel class.
 
3194
 *
 
3195
 * @package       cake
 
3196
 * @subpackage    cake.tests.cases.libs.model
 
3197
 */
 
3198
class TranslateWithPrefix extends CakeTestModel {
 
3199
/**
 
3200
 * name property
 
3201
 *
 
3202
 * @var string 'TranslateTestModel'
 
3203
 * @access public
 
3204
 */
 
3205
        var $name = 'TranslateWithPrefix';
 
3206
/**
 
3207
 * tablePrefix property
 
3208
 *
 
3209
 * @var string 'i18n'
 
3210
 * @access public
 
3211
 */
 
3212
        var $tablePrefix = 'i18n_';
 
3213
/**
 
3214
 * displayField property
 
3215
 *
 
3216
 * @var string 'field'
 
3217
 * @access public
 
3218
 */
 
3219
        var $displayField = 'field';
 
3220
}
 
3221
/**
 
3222
 * TranslatedItem class.
 
3223
 *
 
3224
 * @package       cake
 
3225
 * @subpackage    cake.tests.cases.libs.model
 
3226
 */
 
3227
class TranslatedItem extends CakeTestModel {
 
3228
 
 
3229
/**
 
3230
 * name property
 
3231
 *
 
3232
 * @var string 'TranslatedItem'
 
3233
 * @access public
 
3234
 */
 
3235
        var $name = 'TranslatedItem';
 
3236
 
 
3237
/**
 
3238
 * cacheQueries property
 
3239
 *
 
3240
 * @var bool false
 
3241
 * @access public
 
3242
 */
 
3243
        var $cacheQueries = false;
 
3244
 
 
3245
/**
 
3246
 * actsAs property
 
3247
 *
 
3248
 * @var array
 
3249
 * @access public
 
3250
 */
 
3251
        var $actsAs = array('Translate' => array('content', 'title'));
 
3252
 
 
3253
/**
 
3254
 * translateModel property
 
3255
 *
 
3256
 * @var string 'TranslateTestModel'
 
3257
 * @access public
 
3258
 */
 
3259
        var $translateModel = 'TranslateTestModel';
 
3260
}
 
3261
 
 
3262
/**
 
3263
 * TranslatedItem class.
 
3264
 *
 
3265
 * @package       cake
 
3266
 * @subpackage    cake.tests.cases.libs.model
 
3267
 */
 
3268
class TranslatedItem2 extends CakeTestModel {
 
3269
/**
 
3270
 * name property
 
3271
 *
 
3272
 * @var string 'TranslatedItem'
 
3273
 * @access public
 
3274
 */
 
3275
        var $name = 'TranslatedItem';
 
3276
/**
 
3277
 * cacheQueries property
 
3278
 *
 
3279
 * @var bool false
 
3280
 * @access public
 
3281
 */
 
3282
        var $cacheQueries = false;
 
3283
/**
 
3284
 * actsAs property
 
3285
 *
 
3286
 * @var array
 
3287
 * @access public
 
3288
 */
 
3289
        var $actsAs = array('Translate' => array('content', 'title'));
 
3290
/**
 
3291
 * translateModel property
 
3292
 *
 
3293
 * @var string 'TranslateTestModel'
 
3294
 * @access public
 
3295
 */
 
3296
        var $translateModel = 'TranslateWithPrefix';
 
3297
}
 
3298
/**
 
3299
 * TranslatedItemWithTable class.
 
3300
 *
 
3301
 * @package       cake
 
3302
 * @subpackage    cake.tests.cases.libs.model
 
3303
 */
 
3304
class TranslatedItemWithTable extends CakeTestModel {
 
3305
 
 
3306
/**
 
3307
 * name property
 
3308
 *
 
3309
 * @var string 'TranslatedItemWithTable'
 
3310
 * @access public
 
3311
 */
 
3312
        var $name = 'TranslatedItemWithTable';
 
3313
 
 
3314
/**
 
3315
 * useTable property
 
3316
 *
 
3317
 * @var string 'translated_items'
 
3318
 * @access public
 
3319
 */
 
3320
        var $useTable = 'translated_items';
 
3321
 
 
3322
/**
 
3323
 * cacheQueries property
 
3324
 *
 
3325
 * @var bool false
 
3326
 * @access public
 
3327
 */
 
3328
        var $cacheQueries = false;
 
3329
 
 
3330
/**
 
3331
 * actsAs property
 
3332
 *
 
3333
 * @var array
 
3334
 * @access public
 
3335
 */
 
3336
        var $actsAs = array('Translate' => array('content', 'title'));
 
3337
 
 
3338
/**
 
3339
 * translateModel property
 
3340
 *
 
3341
 * @var string 'TranslateTestModel'
 
3342
 * @access public
 
3343
 */
 
3344
        var $translateModel = 'TranslateTestModel';
 
3345
 
 
3346
/**
 
3347
 * translateTable property
 
3348
 *
 
3349
 * @var string 'another_i18n'
 
3350
 * @access public
 
3351
 */
 
3352
        var $translateTable = 'another_i18n';
 
3353
}
 
3354
 
 
3355
/**
 
3356
 * TranslateArticleModel class.
 
3357
 *
 
3358
 * @package       cake
 
3359
 * @subpackage    cake.tests.cases.libs.model
 
3360
 */
 
3361
class TranslateArticleModel extends CakeTestModel {
 
3362
 
 
3363
/**
 
3364
 * name property
 
3365
 *
 
3366
 * @var string 'TranslateArticleModel'
 
3367
 * @access public
 
3368
 */
 
3369
        var $name = 'TranslateArticleModel';
 
3370
 
 
3371
/**
 
3372
 * useTable property
 
3373
 *
 
3374
 * @var string 'article_i18n'
 
3375
 * @access public
 
3376
 */
 
3377
        var $useTable = 'article_i18n';
 
3378
 
 
3379
/**
 
3380
 * displayField property
 
3381
 *
 
3382
 * @var string 'field'
 
3383
 * @access public
 
3384
 */
 
3385
        var $displayField = 'field';
 
3386
}
 
3387
 
 
3388
/**
 
3389
 * TranslatedArticle class.
 
3390
 *
 
3391
 * @package       cake
 
3392
 * @subpackage    cake.tests.cases.libs.model
 
3393
 */
 
3394
class TranslatedArticle extends CakeTestModel {
 
3395
 
 
3396
/**
 
3397
 * name property
 
3398
 *
 
3399
 * @var string 'TranslatedArticle'
 
3400
 * @access public
 
3401
 */
 
3402
        var $name = 'TranslatedArticle';
 
3403
 
 
3404
/**
 
3405
 * cacheQueries property
 
3406
 *
 
3407
 * @var bool false
 
3408
 * @access public
 
3409
 */
 
3410
        var $cacheQueries = false;
 
3411
 
 
3412
/**
 
3413
 * actsAs property
 
3414
 *
 
3415
 * @var array
 
3416
 * @access public
 
3417
 */
 
3418
        var $actsAs = array('Translate' => array('title', 'body'));
 
3419
 
 
3420
/**
 
3421
 * translateModel property
 
3422
 *
 
3423
 * @var string 'TranslateArticleModel'
 
3424
 * @access public
 
3425
 */
 
3426
        var $translateModel = 'TranslateArticleModel';
 
3427
 
 
3428
/**
 
3429
 * belongsTo property
 
3430
 *
 
3431
 * @var array
 
3432
 * @access public
 
3433
 */
 
3434
        var $belongsTo = array('User');
 
3435
}
 
3436
 
 
3437
class CounterCacheUser extends CakeTestModel {
 
3438
        var $name = 'CounterCacheUser';
 
3439
        var $alias = 'User';
 
3440
 
 
3441
        var $hasMany = array('Post' => array(
 
3442
                'className' => 'CounterCachePost',
 
3443
                'foreignKey' => 'user_id'
 
3444
        ));
 
3445
}
 
3446
 
 
3447
class CounterCachePost extends CakeTestModel {
 
3448
        var $name = 'CounterCachePost';
 
3449
        var $alias = 'Post';
 
3450
 
 
3451
        var $belongsTo = array('User' => array(
 
3452
                'className' => 'CounterCacheUser',
 
3453
                'foreignKey' => 'user_id',
 
3454
                'counterCache' => true
 
3455
        ));
 
3456
}
 
3457
 
 
3458
class CounterCacheUserNonstandardPrimaryKey extends CakeTestModel {
 
3459
        var $name = 'CounterCacheUserNonstandardPrimaryKey';
 
3460
        var $alias = 'User';
 
3461
    var $primaryKey = 'uid';
 
3462
 
 
3463
        var $hasMany = array('Post' => array(
 
3464
                'className' => 'CounterCachePostNonstandardPrimaryKey',
 
3465
                'foreignKey' => 'uid'
 
3466
        ));
 
3467
}
 
3468
 
 
3469
class CounterCachePostNonstandardPrimaryKey extends CakeTestModel {
 
3470
        var $name = 'CounterCachePostNonstandardPrimaryKey';
 
3471
        var $alias = 'Post';
 
3472
    var $primaryKey = 'pid';
 
3473
 
 
3474
        var $belongsTo = array('User' => array(
 
3475
                'className' => 'CounterCacheUserNonstandardPrimaryKey',
 
3476
                'foreignKey' => 'uid',
 
3477
                'counterCache' => true
 
3478
        ));
 
3479
}
 
3480
 
 
3481
class ArticleB extends CakeTestModel {
 
3482
        var $name = 'ArticleB';
 
3483
        var $useTable = 'articles';
 
3484
        var $hasAndBelongsToMany = array(
 
3485
                'TagB' => array(
 
3486
                        'className' => 'TagB',
 
3487
                        'joinTable' => 'articles_tags',
 
3488
                        'foreignKey' => 'article_id',
 
3489
                        'associationForeignKey' => 'tag_id'
 
3490
                )
 
3491
        );
 
3492
}
 
3493
 
 
3494
class TagB extends CakeTestModel {
 
3495
        var $name = 'TagB';
 
3496
        var $useTable = 'tags';
 
3497
        var $hasAndBelongsToMany = array(
 
3498
                'ArticleB' => array(
 
3499
                        'className' => 'ArticleB',
 
3500
                        'joinTable' => 'articles_tags',
 
3501
                        'foreignKey' => 'tag_id',
 
3502
                        'associationForeignKey' => 'article_id'
 
3503
                )
 
3504
        );
 
3505
}
 
3506
 
 
3507
class Fruit extends CakeTestModel {
 
3508
        var $name = 'Fruit';
 
3509
        var $hasAndBelongsToMany = array(
 
3510
                'UuidTag' => array(
 
3511
                        'className' => 'UuidTag',
 
3512
                        'joinTable' => 'fruits_uuid_tags',
 
3513
                        'foreignKey' => 'fruit_id',
 
3514
                        'associationForeignKey' => 'uuid_tag_id',
 
3515
                        'with' => 'FruitsUuidTag'
 
3516
                )
 
3517
        );
 
3518
}
 
3519
 
 
3520
class FruitsUuidTag extends CakeTestModel {
 
3521
        var $name = 'FruitsUuidTag';
 
3522
        var $primaryKey = false;
 
3523
        var $belongsTo = array(
 
3524
                'UuidTag' => array(
 
3525
                        'className' => 'UuidTag',
 
3526
                        'foreignKey' => 'uuid_tag_id',
 
3527
                ),
 
3528
                'Fruit' => array(
 
3529
                        'className' => 'Fruit',
 
3530
                        'foreignKey' => 'fruit_id',
 
3531
                )
 
3532
        );
 
3533
}
 
3534
 
 
3535
class UuidTag extends CakeTestModel {
 
3536
        var $name = 'UuidTag';
 
3537
        var $hasAndBelongsToMany = array(
 
3538
                'Fruit' => array(
 
3539
                        'className' => 'Fruit',
 
3540
                        'joinTable' => 'fruits_uuid_tags',
 
3541
                        'foreign_key' => 'uuid_tag_id',
 
3542
                        'associationForeignKey' => 'fruit_id',
 
3543
                        'with' => 'FruitsUuidTag'
 
3544
                )
 
3545
        );
 
3546
}
 
3547
 
 
3548
class FruitNoWith extends CakeTestModel {
 
3549
        var $name = 'Fruit';
 
3550
        var $useTable = 'fruits';
 
3551
        var $hasAndBelongsToMany = array(
 
3552
                'UuidTag' => array(
 
3553
                        'className' => 'UuidTagNoWith',
 
3554
                        'joinTable' => 'fruits_uuid_tags',
 
3555
                        'foreignKey' => 'fruit_id',
 
3556
                        'associationForeignKey' => 'uuid_tag_id',
 
3557
                )
 
3558
        );
 
3559
}
 
3560
class UuidTagNoWith extends CakeTestModel {
 
3561
        var $name = 'UuidTag';
 
3562
        var $useTable = 'uuid_tags';
 
3563
        var $hasAndBelongsToMany = array(
 
3564
                'Fruit' => array(
 
3565
                        'className' => 'FruitNoWith',
 
3566
                        'joinTable' => 'fruits_uuid_tags',
 
3567
                        'foreign_key' => 'uuid_tag_id',
 
3568
                        'associationForeignKey' => 'fruit_id',
 
3569
                )
 
3570
        );
 
3571
}
 
3572
 
 
3573
class ProductUpdateAll extends CakeTestModel {
 
3574
        var $name = 'ProductUpdateAll';
 
3575
        var $useTable = 'product_update_all';
 
3576
 
 
3577
}
 
3578
 
 
3579
class GroupUpdateAll extends CakeTestModel {
 
3580
        var $name = 'GroupUpdateAll';
 
3581
        var $useTable = 'group_update_all';
 
3582
 
 
3583
}