package Ġdev . ek ved ar as . laravel query . completion Ċ Ċ import Ġcom . intellij . code Insight . completion . Completion Type Ċ import Ġcom . intellij . database . model . Object Kind Ċ import Ġcom . intellij . database . util . Das Util Ċ import Ġdev . ek ved ar as . laravel query . Base TestCase Ċ import Ġdev . ek ved ar as . laravel query . utils . Laravel Utils Ċ Ċ internal Ġclass ĠColumns Completion Test Ġ: ĠBase TestCase () Ġ{ ĊĠĠĠ Ġprivate Ġfun Ġcomplete For ( ĊĠĠĠĠĠĠĠ Ġfrom : ĠString , ĊĠĠĠĠĠĠĠ Ġprefix : ĠString , ĊĠĠĠĠĠĠĠ Ġmethod : ĠString , ĊĠĠĠĠĠĠĠ Ġargument : ĠInt , ĊĠĠĠĠĠĠĠ Ġcompletion Type : ĠCompletion Type Ġ= ĠCompletion Type . BASIC ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġconfigure QueryBuilder Method ( from , Ġprefix , Ġmethod , Ġargument ) ĊĠĠĠĠĠĠĠ Ġmy Fixture . complete ( completion Type ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtest Comp letes Schemas And Tables () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtable Ġ= ĠDas Util . get Tables ( dataSource ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Ġ{ Ġ! it . is System Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. first OrNull () Ġ?: Ġreturn Ġfail (" Did Ġnot Ġfind Ġany Ġtables .") ĊĠĠĠĠĠĠĠ Ġval Ġcolumns Ġ= ĠDas Util . get Columns ( table ) ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġcolumns . map Ġ{ Ġit . name Ġ} Ġ+ Ġ// ĠAll Ġselected Ġtable Ġcolumns ĊĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtable . name , Ġ// ĠTable Ġitself ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtable . das Parent ?. name Ġ?: Ġreturn Ġfail (" Failed Ġto Ġload Ġtable Ġschema ") Ġ// ĠTable Ġschema ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval Ġnot Expected Ġ= Ġschemas . filter Ġ{ Ġit Ġ!= Ġtable . das Parent ?. name Ġ?: Ġit Ġ} Ġ+ Ġ// ĠAll Ġother Ġschemas ĊĠĠĠĠĠĠĠĠĠĠĠ Ġschema Tables . values . flatten (). filter Ġ{ Ġit Ġ!= Ġtable . name Ġ} Ġ// ĠAll Ġother Ġtables ĊĊĠĠĠĠĠĠĠ ĠLaravel Utils . Builder Table Columns Params . entries . distinct By Ġ{ Ġit . value Ġ}. forEach Ġ{ Ġentry Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentry . value . forEach Ġ{ Ġparam Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomplete For ( table . name , Ġ"", Ġentry . key , Ġparam ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Completion (* expected . toList (). to Typed Array ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Completion (* not Expected . toList (). to Typed Array ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtest Comp letes Schema Tables () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġschema Ġ= Ġschemas . first () ĊĠĠĠĠĠĠĠ Ġval Ġtable Ġ= Ġschema Tables [ schema ]?. first () Ġ?: Ġreturn Ġfail (" Failed Ġto Ġfind Ġfirst Ġtable ") ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġschema Tables [ schema ] Ġ?: Ġreturn Ġfail (" Failed Ġto Ġfind Ġschema Ġtables ") ĊĊĠĠĠĠĠĠĠ Ġval Ġnot Expected Ġ= Ġschemas . filter Not Ġ{ Ġit Ġ== Ġschema Ġ} Ġ+ Ġ// ĠAll Ġother Ġschemas ĊĠĠĠĠĠĠĠĠĠĠĠ Ġschema Tables . entries . filter Not Ġ{ Ġit . key Ġ== Ġschema Ġ}. map Ġ{ Ġit . value Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatten () Ġ// ĠTables Ġof Ġother Ġschemas ĊĊĠĠĠĠĠĠĠ ĠLaravel Utils . Builder Table Columns Params . entries . distinct By Ġ{ Ġit . value Ġ}. forEach Ġ{ Ġentry Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentry . value . forEach Ġ{ Ġparam Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomplete For ( table , Ġ"$ schema .", Ġentry . key , Ġparam ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Completion (* expected . toList (). to Typed Array ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Completion (* not Expected . toList (). to Typed Array ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtest Comp letes Table Columns () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtable Ġ= ĠDas Util . get Tables ( dataSource ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Not Ġ{ Ġit . is System Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. first OrNull () Ġ?: Ġreturn Ġfail (" Did Ġnot Ġfind Ġany Ġtables .") ĊĠĠĠĠĠĠĠ Ġval Ġcolumns Ġ= ĠDas Util . get Columns ( table ). map Ġ{ Ġit . name Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġlast Table Ġ= ĠDas Util . get Tables ( dataSource ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Not Ġ{ Ġit . is System Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. last OrNull () Ġ?: Ġreturn Ġfail (" Did Ġnot Ġfind Ġany Ġtables .") ĊĊĠĠĠĠĠĠĠ Ġval Ġnot Expected Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġschemas . filter Not Ġ{ Ġit Ġ== Ġtable . das Parent ?. name Ġ} Ġ+ Ġ// ĠAll Ġother Ġschemas ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġschema Tables . entries . filter Not Ġ{ Ġit . key Ġ== Ġtable . das Parent ?. name Ġ}. map Ġ{ Ġit . value Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatten () Ġ+ Ġ// ĠTables Ġof Ġother Ġschemas ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDas Util . get Columns ( last Table ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Not Ġ{ Ġcolumns . contains ( it . name ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . name Ġ} Ġ// ĠColumns Ġof Ġother Ġtable ĊĊĠĠĠĠĠĠĠ ĠLaravel Utils . Builder Table Columns Params . entries . distinct By Ġ{ Ġit . value Ġ}. forEach Ġ{ Ġentry Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentry . value . forEach Ġ{ Ġparam Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomplete For ( table . name , Ġ"${ table . name }. ", Ġentry . key , Ġparam ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Completion (* columns . toList (). to Typed Array ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Completion (* not Expected . toList (). to Typed Array ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtest Comp letes Schema Table Columns () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtable Ġ= ĠDas Util . get Tables ( dataSource ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Not Ġ{ Ġit . is System Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. first OrNull () Ġ?: Ġreturn Ġfail (" Did Ġnot Ġfind Ġany Ġtables .") ĊĠĠĠĠĠĠĠ Ġval Ġcolumns Ġ= ĠDas Util . get Columns ( table ). map Ġ{ Ġit . name Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġlast Table Ġ= ĠDas Util . get Tables ( dataSource ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Not Ġ{ Ġit . is System Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. last OrNull () Ġ?: Ġreturn Ġfail (" Did Ġnot Ġfind Ġany Ġtables .") ĊĊĠĠĠĠĠĠĠ Ġval Ġnot Expected Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġschemas . filter Not Ġ{ Ġit Ġ== Ġtable . das Parent ?. name Ġ} Ġ+ Ġ// ĠAll Ġother Ġschemas ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġschema Tables . entries . filter Not Ġ{ Ġit . key Ġ== Ġtable . das Parent ?. name Ġ}. map Ġ{ Ġit . value Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatten () Ġ+ Ġ// ĠTables Ġof Ġother Ġschemas ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDas Util . get Columns ( last Table ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Not Ġ{ Ġcolumns . contains ( it . name ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . name Ġ} Ġ// ĠColumns Ġof Ġother Ġtable ĊĊĠĠĠĠĠĠĠ ĠLaravel Utils . Builder Table Columns Params . entries . distinct By Ġ{ Ġit . value Ġ}. forEach Ġ{ Ġentry Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentry . value . forEach Ġ{ Ġparam Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomplete For ( table . name , Ġ"${ table . das Parent ?. name }.${ table . name }. ", Ġentry . key , Ġparam ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Completion (* columns . toList (). to Typed Array ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Completion (* not Expected . toList (). to Typed Array ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtest Comp letes Alias Columns () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtable Ġ= ĠDas Util . get Tables ( dataSource ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Not Ġ{ Ġit . is System Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. first OrNull () Ġ?: Ġreturn Ġfail (" Did Ġnot Ġfind Ġany Ġtables .") ĊĠĠĠĠĠĠĠ Ġval Ġcolumns Ġ= ĠDas Util . get Columns ( table ). map Ġ{ Ġit . name Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġlast Table Ġ= ĠDas Util . get Tables ( dataSource ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Not Ġ{ Ġit . is System Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. last OrNull () Ġ?: Ġreturn Ġfail (" Did Ġnot Ġfind Ġany Ġtables .") ĊĠĠĠĠĠĠĠ Ġval Ġalias Ġ= Ġ"${ table . name }_ alias " ĊĊĠĠĠĠĠĠĠ Ġval Ġnot Expected Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġschemas . filter Not Ġ{ Ġit Ġ== Ġtable . das Parent ?. name Ġ} Ġ+ Ġ// ĠAll Ġother Ġschemas ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġschema Tables . entries . filter Not Ġ{ Ġit . key Ġ== Ġtable . das Parent ?. name Ġ}. map Ġ{ Ġit . value Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. flatten () Ġ+ Ġ// ĠTables Ġof Ġother Ġschemas ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDas Util . get Columns ( last Table ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. filter Not Ġ{ Ġcolumns . contains ( it . name ) Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . name Ġ} Ġ// ĠColumns Ġof Ġother Ġtable ĊĊĠĠĠĠĠĠĠ ĠLaravel Utils . Builder Table Columns Params . entries . distinct By Ġ{ Ġit . value Ġ}. forEach Ġ{ Ġentry Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentry . value . forEach Ġ{ Ġparam Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomplete For ("${ table . name } Ġas Ġ$ alias ", Ġ"$ alias .", Ġentry . key , Ġparam ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Completion (* columns . toList (). to Typed Array ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Completion (* not Expected . toList (). to Typed Array ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtest Comp letes Columns And Schemas Tables After Smart Search () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġschema Ġ= Ġschemas . first () ĊĠĠĠĠĠĠĠ Ġval Ġtable Ġ= Ġschema Tables [ schema ]?. first () Ġ?: Ġreturn Ġfail (" Failed Ġto Ġfind Ġfirst Ġtable ") ĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġschemas And Tables Ġ+ ĠDas Util . get Tables ( dataSource ()). first Ġ{ Ġit . name Ġ== Ġtable Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. get Das Children ( Object Kind . COLUMN ). map Ġ{ Ġit . name Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġnot Expected Ġ= ĠlistOf (" failed _ at ") ĊĊĠĠĠĠĠĠĠ ĠLaravel Utils . Builder Table Columns Params . entries . distinct By Ġ{ Ġit . value Ġ}. forEach Ġ{ Ġentry Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġentry . value . forEach Ġ{ Ġparam Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcomplete For ( table , Ġ"", Ġentry . key , Ġparam , ĠCompletion Type . SM ART ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert Completion (* expected . toList (). to Typed Array ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġassert No Completion (* not Expected . toList (). to Typed Array ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġtest Comp letes Columns Inside Join Clause () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġtables Ġ= ĠDas Util . get Tables ( dataSource ()). filter Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit . name Ġ== Ġ" users " Ġ|| Ġit . name Ġ== Ġ" customers " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġexpected Ġ= Ġtables . map Ġ{ Ġit . name Ġ} Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( tables . first ()?. get Das Children ( Object Kind . COLUMN )?. map Ġ{ Ġit . name Ġ} Ġ?: ĠlistOf < String >()) Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( tables . last ()?. get Das Children ( Object Kind . COLUMN )?. map Ġ{ Ġit . name Ġ} Ġ?: ĠlistOf < String >()) ĊĊĠĠĠĠĠĠĠ Ġval Ġnot Expected Ġ= ĠlistOf (" failed _ jobs ", Ġ" migrations ", Ġ" test Project 2 ") ĊĊĠĠĠĠĠĠĠ Ġmy Fixture . configure By File (" inspection / join Columns . php ") ĊĠĠĠĠĠĠĠ Ġmy Fixture . complete Basic () ĊĊĠĠĠĠĠĠĠ Ġassert Completion (* expected . toList (). to Typed Array ()) ĊĠĠĠĠĠĠĠ Ġassert No Completion (* not Expected . toList (). to Typed Array ()) ĊĠĠĠ Ġ} Ċ } Ċ