Skip to content

Commit 800c915

Browse files
authored
Merge pull request #156 from ml054/lazy2
RDBC-234 test for lazy loading
2 parents b087365 + 277c54a commit 800c915

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

test/Ported/Lazy/LazyTest.ts

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,4 +151,47 @@ describe("LazyTest", function () {
151151
assert.strictEqual(user.lastName, "Oren");
152152
}
153153
});
154+
155+
it("doesn't lazy load already loaded values", async () => {
156+
{
157+
const session = store.openSession();
158+
159+
const user = new User();
160+
user.lastName = "Oren";
161+
await session.store(user, "users/1");
162+
163+
const user2 = new User();
164+
user2.lastName = "Marcin";
165+
await session.store(user2, "users/2");
166+
167+
const user3 = new User();
168+
user3.lastName = "John";
169+
await session.store(user3, "users/3");
170+
171+
await session.saveChanges();
172+
}
173+
174+
{
175+
const session = store.openSession();
176+
177+
let lazyLoad = session.advanced.lazily.load(["users/2", "users/3"], User);
178+
session.advanced.lazily.load(["users/1", "users/3"], User);
179+
180+
await session.load("users/2", User);
181+
await session.load("users/3", User);
182+
183+
await session.advanced.eagerly.executeAllPendingLazyOperations();
184+
185+
assert.ok(session.advanced.isLoaded("users/1"));
186+
187+
const users = await lazyLoad.getValue();
188+
assert.strictEqual(Object.keys(users).length, 2);
189+
190+
const oldRequestCount = session.advanced.numberOfRequests;
191+
lazyLoad = session.advanced.lazily.load(["users/3"], User);
192+
await session.advanced.eagerly.executeAllPendingLazyOperations();
193+
194+
assert.strictEqual(session.advanced.numberOfRequests, oldRequestCount);
195+
}
196+
});
154197
});

0 commit comments

Comments
 (0)