@@ -803,9 +803,10 @@ describe "lapis.db.model.relations", ->
803803 assert . same nil , rawget Child , " get_user"
804804
805805 describe " polymorphic belongs to" , ->
806- local Foos , Bars , Bazs , Items
806+ local Foos , Bars , Bazs , Items , preload
807807
808808 before_each ->
809+ import preload from require " lapis.db.model"
809810 models. Foos = class Foos extends Model
810811 models. Bars = class Bars extends Model
811812 @primary_key : " frog_index"
@@ -944,6 +945,39 @@ describe "lapis.db.model.relations", ->
944945 ' SELECT c, d FROM "bazs" WHERE "id" IN (113)'
945946 }
946947
948+ it " preloads with skip_included option" , ->
949+ foo = models. Foos \ load {
950+ id : 111
951+ }
952+
953+ items = {
954+ Items \ load {
955+ object_type : 1
956+ object_id : 111
957+ object : foo
958+ }
959+
960+ Items \ load {
961+ object_type : 1
962+ object_id : 222
963+ }
964+
965+ Items \ load {
966+ object_type : 2
967+ object_id : 333
968+ }
969+ }
970+
971+ assert_queries {
972+ ' SELECT * FROM "foos" WHERE "id" IN (222)'
973+ ' SELECT * FROM "bars" WHERE "frog_index" IN (333)'
974+ } , ->
975+ preload items, object : {
976+ [ preload] : {
977+ skip_included : true
978+ }
979+ }
980+
947981 it " finds relation" , ->
948982 import find_relation from require " lapis.db.model.relations"
949983
@@ -1872,7 +1906,7 @@ describe "lapis.db.model.relations", ->
18721906 random : " option"
18731907 } , preload_opts
18741908
1875- it " with skip_included preload option #ddd " , ->
1909+ it " with skip_included preload option" , ->
18761910 models. Items = class Items extends Model
18771911 @relations : {
18781912 { " parents" , has_many : " Items" , key : " parent_id" }
@@ -2222,4 +2256,3 @@ describe "lapis.db.model.relations", ->
22222256 { id : 201 , user_id : 20 }
22232257 } , users[ 3 ] . tags
22242258
2225-
0 commit comments