summaryrefslogtreecommitdiffhomepage
path: root/spec/dispatch/adapter/base_spec.rb
diff options
context:
space:
mode:
authorAdam Malczewski <[email protected]>2026-03-31 20:22:45 +0900
committerAdam Malczewski <[email protected]>2026-03-31 20:22:45 +0900
commit3e32dec579fbdedec8c7ddb881207b25bb342e60 (patch)
tree9db02b8f744fa2c1203b78e6c84a62f770bc1e73 /spec/dispatch/adapter/base_spec.rb
parenta1eed75083df6afd4895a4438309319d2a9e5523 (diff)
downloaddispatch-adapter-copilot-3e32dec579fbdedec8c7ddb881207b25bb342e60.tar.gz
dispatch-adapter-copilot-3e32dec579fbdedec8c7ddb881207b25bb342e60.zip
imp
Diffstat (limited to 'spec/dispatch/adapter/base_spec.rb')
-rw-r--r--spec/dispatch/adapter/base_spec.rb41
1 files changed, 41 insertions, 0 deletions
diff --git a/spec/dispatch/adapter/base_spec.rb b/spec/dispatch/adapter/base_spec.rb
new file mode 100644
index 0000000..8c3a279
--- /dev/null
+++ b/spec/dispatch/adapter/base_spec.rb
@@ -0,0 +1,41 @@
+# frozen_string_literal: true
+
+RSpec.describe Dispatch::Adapter::Base do
+ subject(:base) { described_class.new }
+
+ describe "#chat" do
+ it "raises NotImplementedError" do
+ expect { base.chat([]) }.to raise_error(NotImplementedError, /chat must be implemented/)
+ end
+ end
+
+ describe "#model_name" do
+ it "raises NotImplementedError" do
+ expect { base.model_name }.to raise_error(NotImplementedError, /model_name must be implemented/)
+ end
+ end
+
+ describe "#count_tokens" do
+ it "returns -1" do
+ expect(base.count_tokens([])).to eq(-1)
+ end
+ end
+
+ describe "#list_models" do
+ it "raises NotImplementedError" do
+ expect { base.list_models }.to raise_error(NotImplementedError, /list_models must be implemented/)
+ end
+ end
+
+ describe "#provider_name" do
+ it "returns the class name" do
+ expect(base.provider_name).to eq("Dispatch::Adapter::Base")
+ end
+ end
+
+ describe "#max_context_tokens" do
+ it "returns nil" do
+ expect(base.max_context_tokens).to be_nil
+ end
+ end
+end