8
8
9
9
namespace Ibexa \Tests \CorePersistence \Gateway ;
10
10
11
- use Doctrine \Common \Collections \Expr \Comparison ;
12
11
use Doctrine \DBAL \Query \Expression \CompositeExpression ;
13
12
use Doctrine \DBAL \Query \QueryBuilder ;
14
- use Ibexa \Contracts \CorePersistence \Exception \RuntimeMappingException ;
15
13
use Ibexa \Contracts \CorePersistence \Gateway \DoctrineRelationship ;
16
14
use Ibexa \CorePersistence \Gateway \SubSelectRelationshipTypeStrategy ;
15
+ use LogicException ;
17
16
18
17
/**
19
18
* @covers \Ibexa\CorePersistence\Gateway\SubSelectRelationshipTypeStrategy
@@ -72,20 +71,13 @@ public function testHandleRelationshipType(): void
72
71
73
72
public function testHandleRelationshipTypeQueryThrowsRuntimeMappingException (): void
74
73
{
75
- $ this ->expectException (RuntimeMappingException ::class);
74
+ $ this ->expectException (LogicException ::class);
76
75
$ this ->expectExceptionMessage ('Query is not initialized. ' );
77
76
78
77
$ this ->strategy ->handleRelationshipTypeQuery (
79
- $ this ->createDoctrineSchemaMetadata (),
80
- $ this ->createDoctrineRelationship (DoctrineRelationship::JOIN_TYPE_SUB_SELECT ),
81
- 'related_class_id_column ' ,
82
- new Comparison (
83
- 'related_class_id_column ' ,
84
- Comparison::EQ ,
85
- 'value '
86
- ),
87
- new QueryBuilder ($ this ->connection ),
88
- []
78
+ $ this ->createMock (QueryBuilder::class),
79
+ 'alias.related_class_id_column ' ,
80
+ ':alias.related_class_id_column_0 '
89
81
);
90
82
}
91
83
@@ -97,28 +89,14 @@ public function testHandleRelationshipTypeQuery(): void
97
89
->from ('test_table ' , 'test_alias ' );
98
90
99
91
$ relationshipQuery = $ this ->strategy ->handleRelationshipTypeQuery (
100
- $ this ->createDoctrineSchemaMetadata (),
101
- $ this ->createDoctrineRelationship (DoctrineRelationship::JOIN_TYPE_SUB_SELECT ),
102
- 'related_class_id_column ' ,
103
- new Comparison (
104
- 'related_class_id_column ' ,
105
- Comparison::EQ ,
106
- 'value '
107
- ),
108
92
$ queryBuilder ,
109
- []
93
+ 'test_alias.related_class_id_column ' ,
94
+ ':related_class_id_column_0 '
110
95
);
111
96
112
- $ parameter = $ relationshipQuery ->getParameter ();
113
- self ::assertSame ('related_class_id_column_0 ' , $ parameter ->getName ());
114
- self ::assertSame (1 , $ parameter ->getType ());
115
- self ::assertSame ('value ' , $ parameter ->getValue ());
116
-
117
- $ queryBuilder = $ relationshipQuery ->getQueryBuilder ();
118
-
119
97
self ::assertSame (
120
98
['test_alias.related_class_id_column ' ],
121
- $ queryBuilder ->getQueryPart ('select ' )
99
+ $ relationshipQuery ->getQueryPart ('select ' )
122
100
);
123
101
self ::assertSame (
124
102
[
@@ -127,7 +105,7 @@ public function testHandleRelationshipTypeQuery(): void
127
105
'alias ' => 'test_alias ' ,
128
106
],
129
107
],
130
- $ queryBuilder ->getQueryPart ('from ' )
108
+ $ relationshipQuery ->getQueryPart ('from ' )
131
109
);
132
110
self ::assertEquals (
133
111
new CompositeExpression (
@@ -136,9 +114,9 @@ public function testHandleRelationshipTypeQuery(): void
136
114
'test_alias.related_class_id_column IN (:related_class_id_column_0) ' ,
137
115
]
138
116
),
139
- $ queryBuilder ->getQueryPart ('where ' )
117
+ $ relationshipQuery ->getQueryPart ('where ' )
140
118
);
141
119
142
- self ::assertEmpty ($ queryBuilder ->getQueryPart ('join ' ));
120
+ self ::assertEmpty ($ relationshipQuery ->getQueryPart ('join ' ));
143
121
}
144
122
}
0 commit comments