Skip to content

Commit 7d7dc6d

Browse files
Support pagination parameters for batches.list
1 parent 2c8eb48 commit 7d7dc6d

File tree

2 files changed

+24
-2
lines changed

2 files changed

+24
-2
lines changed

lib/openai/batches.rb

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,8 @@ def initialize(client:)
44
@client = client.beta(assistants: OpenAI::Assistants::BETA_VERSION)
55
end
66

7-
def list
8-
@client.get(path: "/batches")
7+
def list(parameters: {})
8+
@client.get(path: "/batches", parameters: parameters)
99
end
1010

1111
def retrieve(id:)

spec/openai/client/batches_spec.rb

+22
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,17 @@
2424
describe "#list", :vcr do
2525
let(:input_cassette) { "batches list input" }
2626
let(:cassette) { "batches list" }
27+
let(:limit) { 10 }
2728
let(:response) { OpenAI::Client.new.batches.list }
29+
let(:existing_batch) do
30+
OpenAI::Client.new.batches.create(
31+
parameters: {
32+
input_file_id: input_file_id,
33+
endpoint: "/v1/chat/completions",
34+
completion_window: "24h"
35+
}
36+
)
37+
end
2838

2939
before { batch_id }
3040

@@ -33,6 +43,18 @@
3343
expect(response.dig("data", 0, "object")).to eq("batch")
3444
end
3545
end
46+
47+
it "supports after and limit parameters" do
48+
VCR.use_cassette(cassette) do
49+
response = OpenAI::Client.new.batches.list(parameters: {
50+
after: existing_batch["id"],
51+
limit: limit
52+
})
53+
54+
expect(response.dig("data", 0, "object")).to eq("batch")
55+
expect(response["data"].length).to be <= limit
56+
end
57+
end
3658
end
3759

3860
describe "#retrieve" do

0 commit comments

Comments
 (0)