Skip to content

Commit 128a245

Browse files
committed
update relations spec to have more examples of preload options
1 parent c1085f4 commit 128a245

File tree

1 file changed

+22
-1
lines changed

1 file changed

+22
-1
lines changed

spec/relations_spec.moon

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1816,7 +1816,7 @@ describe "lapis.db.model.relations", ->
18161816
[[SELECT * FROM "user_data" WHERE "user_id" IN (11, 12)]]
18171817
}, sorted: true
18181818

1819-
it "passes preload opts", ->
1819+
it "passes preload opts to fetch relation", ->
18201820
local preload_objects, preload_opts
18211821

18221822
class Item extends Model
@@ -1834,6 +1834,7 @@ describe "lapis.db.model.relations", ->
18341834
preload items, things: {
18351835
[preload]: {
18361836
fields: "blue"
1837+
random: "option"
18371838
}
18381839
}
18391840

@@ -1842,8 +1843,28 @@ describe "lapis.db.model.relations", ->
18421843

18431844
assert.same {
18441845
fields: "blue"
1846+
random: "option"
18451847
}, preload_opts
18461848

1849+
it "with skip_included preload option", ->
1850+
models.Items = class Items extends Model
1851+
@relations: {
1852+
{"parents", has_many: "Items", key: "parent_id"}
1853+
}
1854+
1855+
items = {
1856+
Items\load { id: 123, parents: {} } -- this one already has it
1857+
Items\load { id: 234 }
1858+
}
1859+
1860+
preload items, parents: {
1861+
[preload]: { fields: "what", skip_included: true }
1862+
}
1863+
1864+
assert_queries {
1865+
[[SELECT what FROM "items" WHERE "parent_id" IN (234)]]
1866+
}
1867+
18471868
describe "optional relations", ->
18481869
it "single optional relation", ->
18491870
class OtherThing extends Model

0 commit comments

Comments
 (0)