binarylegit
binarylegit

Reputation: 379

How to return a list of results in jOOQ Mocked Data

I'm using jOOQ's MockDataProvider to mock calls to the database. I've figured out how to return a single record using the information here: https://blog.jooq.org/2013/02/20/easy-mocking-of-your-database/

However, I want to return a list of results not just a single record for my query. How do I do that?

I can use the following (from the above link) to return a single result:

return new MockResult[] {
  new MockResult(1, result)
};

However, I cannot figure out how to add multiple results, all of the constructors for MockResult only take a single result. Any hints? Am I missing something obvious?

For example if I query all bicycles that are road bikes: SELECT * FROM bicycles WHERE type = "road"; how do I return a list of 10 bicycles instead of just one?

Upvotes: 1

Views: 1139

Answers (1)

Lukas Eder
Lukas Eder

Reputation: 221115

I can use the following (from the above link) to return a single result

But that's already it. You return a single result with several records. The result you pass to that MockResult constructor could look like this:

var result = ctx.newResult(BICYCLES.COL1, BICYCLES.COL2);
result.add(ctx.newRecord(BICYCLES.COL1, BICYCLES.COL2).values(1, 2));
result.add(ctx.newRecord(BICYCLES.COL1, BICYCLES.COL2).values(3, 4));
...

Upvotes: 2

Related Questions