Skip to content

Commit d75492d

Browse files
committed
Test for fixed case
1 parent 3ebf14c commit d75492d

File tree

1 file changed

+99
-0
lines changed

1 file changed

+99
-0
lines changed
Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
<?php
2+
3+
/**
4+
* MIT License. This file is part of the Propel package.
5+
* For the full copyright and license information, please view the LICENSE
6+
* file that was distributed with this source code.
7+
*/
8+
9+
namespace Propel\Tests\Issues;
10+
11+
use TestGroupObject;
12+
use TestUserObject;
13+
use TestGroupObjectNegative;
14+
use TestUserObjectNegative;
15+
use Propel\Generator\Util\QuickBuilder;
16+
use Propel\Tests\TestCase;
17+
18+
/**
19+
* Regression test for https://github.com/propelorm/Propel2/pull/1994
20+
* @group test1
21+
*/
22+
class IssuePr1994Test extends TestCase
23+
{
24+
/**
25+
* @return void
26+
*/
27+
public function setUp(): void
28+
{
29+
if (!class_exists('\TestUserGroupObject')) {
30+
$schema = <<<EOF
31+
<database>
32+
<table name="test_group_object">
33+
<column name="id" type="integer" primaryKey="true" required="true" />
34+
</table>
35+
<table name="test_user_object">
36+
<column name="id" type="integer" primaryKey="true" required="true" />
37+
</table>
38+
<table name="test_group_object_negative">
39+
<column name="id" type="integer" primaryKey="true" required="true" />
40+
</table>
41+
<table name="test_user_object_negative">
42+
<column name="id" type="integer" primaryKey="true" required="true" />
43+
</table>
44+
<table name="test_user_group_object" isCrossRef="true">
45+
<column name="id" type="integer" primaryKey="true" required="true" />
46+
<column name="user_id" type="integer" required="true"/>
47+
<column name="group_id" type="integer" required="true"/>
48+
<foreign-key foreignTable="test_user_object">
49+
<reference local="user_id" foreign="id"/>
50+
</foreign-key>
51+
<foreign-key foreignTable="test_group_object">
52+
<reference local="group_id" foreign="id"/>
53+
</foreign-key>
54+
</table>
55+
<table name="test_user_group_object_negative" isCrossRef="true">
56+
<column name="id" type="integer" primaryKey="true" required="true" />
57+
<column name="user_negative_id" type="integer" required="true"/>
58+
<column name="group_negative_id" type="integer" required="true"/>
59+
<foreign-key foreignTable="test_user_object_negative">
60+
<reference local="user_negative_id" foreign="id"/>
61+
</foreign-key>
62+
<foreign-key foreignTable="test_group_object_negative">
63+
<reference local="group_negative_id" foreign="id"/>
64+
</foreign-key>
65+
</table>
66+
</database>
67+
EOF;
68+
QuickBuilder::buildSchema($schema);
69+
}
70+
}
71+
72+
/**
73+
* @return void
74+
*/
75+
public function testGenerateIsCrossRefCode()
76+
{
77+
$testGroupObject = new TestGroupObject();
78+
$testUserObject = new TestUserObject();
79+
$testGroupNegative = new TestGroupObjectNegative();
80+
$testUserNegative = new TestUserObjectNegative();
81+
82+
$this->assertTrue(
83+
method_exists($testGroupObject, 'createTestUserObjectsQuery'),
84+
'Class does not have method createTestUserObjectsQuery'
85+
);
86+
$this->assertTrue(
87+
method_exists($testUserObject, 'createTestGroupObjectsQuery'),
88+
'Class does not have method createTestUserObjectsQuery'
89+
);
90+
$this->assertTrue(
91+
method_exists($testGroupNegative, 'createTestUserObjectNegativesQuery'),
92+
'Class does not have method createTestUserObjectsQuery'
93+
);
94+
$this->assertTrue(
95+
method_exists($testUserNegative, 'createTestGroupObjectNegativesQuery'),
96+
'Class does not have method createTestUserObjectsQuery'
97+
);
98+
}
99+
}

0 commit comments

Comments
 (0)