Commit d751312

mo khan <mo@mokhan.ca>
2026-03-11 21:02:03
test: cleanup specs
1 parent 0e6a211
Changed files (1)
spec/elelem/system_prompt_spec.rb
@@ -1,52 +1,31 @@
 # frozen_string_literal: true
 
 RSpec.describe Elelem::SystemPrompt do
+  subject(:prompt) { described_class.new }
+
   before { described_class.reload! }
 
   describe ".available_modes" do
-    it "returns sorted list of template names" do
-      expect(described_class.available_modes).to include("default", "plan")
-    end
+    subject(:modes) { described_class.available_modes }
 
-    it "returns names in alphabetical order" do
-      modes = described_class.available_modes
-      expect(modes).to eq(modes.sort)
-    end
+    it { is_expected.to include("default", "plan") }
+    it { is_expected.to eq(modes.sort) }
   end
 
   describe ".get" do
-    it "returns template content for known name" do
-      template = described_class.get("default")
-      expect(template).to include("Terminal coding agent")
-    end
-
-    it "returns plan template" do
-      template = described_class.get("plan")
-      expect(template).to include("Scrum Master")
-    end
-
-    it "falls back to default for unknown name" do
-      template = described_class.get("nonexistent")
-      expect(template).to eq(described_class.get("default"))
-    end
+    it { expect(described_class.get("default")).to include("Terminal coding agent") }
+    it { expect(described_class.get("plan")).to include("Scrum Master") }
+    it { expect(described_class.get("nonexistent")).to eq(described_class.get("default")) }
   end
 
-  describe "#switch" do
-    it "changes the template" do
-      prompt = described_class.new
-      expect(prompt.template).to include("Terminal coding agent")
-
-      prompt.switch("plan")
-      expect(prompt.template).to include("Scrum Master")
-    end
+  it { expect(prompt.template).to include("Terminal coding agent") }
+  it { expect(prompt.mode).to eq("default") }
 
-    it "updates the mode name" do
-      prompt = described_class.new
-      expect(prompt.mode).to eq("default")
+  describe "#switch" do
+    before { prompt.switch("plan") }
 
-      prompt.switch("plan")
-      expect(prompt.mode).to eq("plan")
-    end
+    it { expect(prompt.mode).to eq("plan") }
+    it { expect(prompt.template).to include("Scrum Master") }
   end
 
   describe "override behavior" do
@@ -65,10 +44,8 @@ RSpec.describe Elelem::SystemPrompt do
       described_class.reload!
     end
 
-    it "loads project-level templates" do
-      expect(described_class.available_modes).to include("custom")
-      expect(described_class.get("custom")).to eq("Custom template")
-    end
+    it { expect(described_class.available_modes).to include("custom") }
+    it { expect(described_class.get("custom")).to eq("Custom template") }
 
     it "project templates override built-in" do
       dir = ".elelem/prompts"