2 declare(strict_types = 1);
33 'Live, no preview' => [
34 'tableName' =>
'aTable',
35 'tableAlias' =>
'aTable',
37 'hiddenPagePreview' =>
false,
38 'hiddenRecordPreview' =>
false,
39 'frontendUserGroups' => [0, -1],
40 'expectedSQL' =>
'("aTable"."deleted" = 0) AND (("aTable"."t3ver_state" <= 0) AND ("aTable"."pid" <> -1)) AND ("aTable"."myHiddenField" = 0) AND ("aTable"."myStartTimeField" <= 42) AND (("aTable"."myEndTimeField" = 0) OR ("aTable"."myEndTimeField" > 42)) AND (("aTable"."myGroupField" IS NULL) OR ("aTable"."myGroupField" = \'\') OR ("aTable"."myGroupField" = \'0\') OR (FIND_IN_SET(\'0\', "aTable"."myGroupField")) OR (FIND_IN_SET(\'-1\', "aTable"."myGroupField")))'
42 'Live, with hidden record preview' => [
43 'tableName' =>
'aTable',
44 'tableAlias' =>
'aTable',
46 'hiddenPagePreview' =>
true,
47 'hiddenRecordPreview' =>
true,
48 'frontendUserGroups' => [0, -1],
49 'expectedSQL' =>
'("aTable"."deleted" = 0) AND (("aTable"."t3ver_state" <= 0) AND ("aTable"."pid" <> -1)) AND ("aTable"."myStartTimeField" <= 42) AND (("aTable"."myEndTimeField" = 0) OR ("aTable"."myEndTimeField" > 42)) AND (("aTable"."myGroupField" IS NULL) OR ("aTable"."myGroupField" = \'\') OR ("aTable"."myGroupField" = \'0\') OR (FIND_IN_SET(\'0\', "aTable"."myGroupField")) OR (FIND_IN_SET(\'-1\', "aTable"."myGroupField")))'
51 'Workspace, with WS preview' => [
52 'tableName' =>
'aTable',
53 'tableAlias' =>
'aTable',
55 'hiddenPagePreview' =>
false,
56 'hiddenRecordPreview' =>
false,
57 'frontendUserGroups' => [0, -1],
58 'expectedSQL' =>
'("aTable"."deleted" = 0) AND ((("aTable"."t3ver_wsid" = 0) OR ("aTable"."t3ver_wsid" = 1)) AND ("aTable"."pid" <> -1)) AND ("aTable"."myHiddenField" = 0) AND ("aTable"."myStartTimeField" <= 42) AND (("aTable"."myEndTimeField" = 0) OR ("aTable"."myEndTimeField" > 42)) AND (("aTable"."myGroupField" IS NULL) OR ("aTable"."myGroupField" = \'\') OR ("aTable"."myGroupField" = \'0\') OR (FIND_IN_SET(\'0\', "aTable"."myGroupField")) OR (FIND_IN_SET(\'-1\', "aTable"."myGroupField")))'
60 'Workspace, with WS preview and hidden record preview' => [
61 'tableName' =>
'aTable',
62 'tableAlias' =>
'aTable',
64 'hiddenPagePreview' =>
true,
65 'hiddenRecordPreview' =>
true,
66 'frontendUserGroups' => [0, -1],
67 'expectedSQL' =>
'("aTable"."deleted" = 0) AND ((("aTable"."t3ver_wsid" = 0) OR ("aTable"."t3ver_wsid" = 1)) AND ("aTable"."pid" <> -1)) AND ("aTable"."myStartTimeField" <= 42) AND (("aTable"."myEndTimeField" = 0) OR ("aTable"."myEndTimeField" > 42)) AND (("aTable"."myGroupField" IS NULL) OR ("aTable"."myGroupField" = \'\') OR ("aTable"."myGroupField" = \'0\') OR (FIND_IN_SET(\'0\', "aTable"."myGroupField")) OR (FIND_IN_SET(\'-1\', "aTable"."myGroupField")))'
69 'Live page, no preview' => [
70 'tableName' =>
'pages',
71 'tableAlias' =>
'pages',
73 'hiddenPagePreview' =>
false,
74 'hiddenRecordPreview' =>
false,
75 'frontendUserGroups' => [0, -1],
76 'expectedSQL' =>
'("pages"."deleted" = 0) AND (("pages"."t3ver_state" <= 0) AND ("pages"."pid" <> -1)) AND ("pages"."hidden" = 0) AND ("pages"."starttime" <= 42) AND (("pages"."endtime" = 0) OR ("pages"."endtime" > 42)) AND (("pages"."fe_group" IS NULL) OR ("pages"."fe_group" = \'\') OR ("pages"."fe_group" = \'0\') OR (FIND_IN_SET(\'0\', "pages"."fe_group")) OR (FIND_IN_SET(\'-1\', "pages"."fe_group")))'
78 'Live page, with hidden page preview' => [
79 'tableName' =>
'pages',
80 'tableAlias' =>
'pages',
82 'hiddenPagePreview' =>
true,
83 'hiddenRecordPreview' =>
true,
84 'frontendUserGroups' => [0, -1],
85 'expectedSQL' =>
'("pages"."deleted" = 0) AND (("pages"."t3ver_state" <= 0) AND ("pages"."pid" <> -1)) AND ("pages"."starttime" <= 42) AND (("pages"."endtime" = 0) OR ("pages"."endtime" > 42)) AND (("pages"."fe_group" IS NULL) OR ("pages"."fe_group" = \'\') OR ("pages"."fe_group" = \'0\') OR (FIND_IN_SET(\'0\', "pages"."fe_group")) OR (FIND_IN_SET(\'-1\', "pages"."fe_group")))'
87 'Workspace page, with WS preview' => [
88 'tableName' =>
'pages',
89 'tableAlias' =>
'pages',
91 'hiddenPagePreview' =>
false,
92 'hiddenRecordPreview' =>
false,
93 'frontendUserGroups' => [0, -1],
94 'expectedSQL' =>
'("pages"."deleted" = 0) AND ("pages"."pid" <> -1) AND ("pages"."hidden" = 0) AND ("pages"."starttime" <= 42) AND (("pages"."endtime" = 0) OR ("pages"."endtime" > 42)) AND (("pages"."fe_group" IS NULL) OR ("pages"."fe_group" = \'\') OR ("pages"."fe_group" = \'0\') OR (FIND_IN_SET(\'0\', "pages"."fe_group")) OR (FIND_IN_SET(\'-1\', "pages"."fe_group")))'
96 'Workspace page, with WS preview and hidden pages preview' => [
97 'tableName' =>
'pages',
98 'tableAlias' =>
'pages',
100 'hiddenPagePreview' =>
true,
101 'hiddenRecordPreview' =>
true,
102 'frontendUserGroups' => [0, -1],
103 'expectedSQL' =>
'("pages"."deleted" = 0) AND ("pages"."pid" <> -1) AND ("pages"."starttime" <= 42) AND (("pages"."endtime" = 0) OR ("pages"."endtime" > 42)) AND (("pages"."fe_group" IS NULL) OR ("pages"."fe_group" = \'\') OR ("pages"."fe_group" = \'0\') OR (FIND_IN_SET(\'0\', "pages"."fe_group")) OR (FIND_IN_SET(\'-1\', "pages"."fe_group")))'
105 'Live, no preview with alias' => [
106 'tableName' =>
'aTable',
109 'hiddenPagePreview' =>
false,
110 'hiddenRecordPreview' =>
false,
111 'frontendUserGroups' => [0, -1],
112 'expectedSQL' =>
'("a"."deleted" = 0) AND (("a"."t3ver_state" <= 0) AND ("a"."pid" <> -1)) AND ("a"."myHiddenField" = 0) AND ("a"."myStartTimeField" <= 42) AND (("a"."myEndTimeField" = 0) OR ("a"."myEndTimeField" > 42)) AND (("a"."myGroupField" IS NULL) OR ("a"."myGroupField" = \'\') OR ("a"."myGroupField" = \'0\') OR (FIND_IN_SET(\'0\', "a"."myGroupField")) OR (FIND_IN_SET(\'-1\', "a"."myGroupField")))'
133 bool $hiddenPagePreview,
134 bool $hiddenRecordPreview,
135 array $frontendUserGroups,
142 'delete' =>
'deleted',
144 'disabled' =>
'myHiddenField',
145 'starttime' =>
'myStartTimeField',
146 'endtime' =>
'myEndTimeField',
147 'fe_group' =>
'myGroupField',
154 'tstamp' =>
'tstamp',
155 'sortby' =>
'sorting',
157 'versioningWS' =>
true,
158 'origUid' =>
't3_origuid',
159 'delete' =>
'deleted',
161 'disabled' =>
'hidden',
162 'starttime' =>
'starttime',
163 'endtime' =>
'endtime',
164 'fe_group' =>
'fe_group'
175 GeneralUtility::setSingletonInstance(Context::class, $context);
180 $expression = $subject->buildExpression([$tableAlias => $tableName], $this->expressionBuilder);
181 $this->assertSame($expectedSQL, (
string)$expression);