spec/mock_data_spec.rb in cistern-0.11.2.pre2 vs spec/mock_data_spec.rb in cistern-0.11.2
- old
+ new
@@ -1,43 +1,49 @@
require 'spec_helper'
describe 'mock data' do
- class Diagnosis < Sample::Request
- def real(diagnosis)
- end
+ class Patient < Cistern::Service
+ request :diagnosis
+ request :treat
- def mock(diagnosis)
- service.data.store(:diagnosis, service.data.fetch(:diagnosis) + [diagnosis])
- end
- end
+ class Real
+ def diagnosis(options={})
+ end
- class Treat < Sample::Request
- def real(treatment)
+ def treat(options={})
+ end
end
- def mock(treatment)
- service.data[:treatments] += [treatment]
+ class Mock
+ def diagnosis(diagnosis)
+ #self.data[:diagnosis] << rand(2) == 0 ? "sick" : "healthy"
+ self.data.store(:diagnosis, self.data.fetch(:diagnosis) + [diagnosis])
+ end
+
+ def treat(treatment)
+ self.data[:treatments] += [treatment]
+ end
end
end
shared_examples "mock_data#backend" do |backend, options|
it "should store mock data" do
- Sample.mock!
- Sample::Mock.store_in(backend, options)
- Sample.reset!
+ Patient.mock!
+ Patient::Mock.store_in(backend, options)
+ Patient.reset!
- p = Sample.new
+ p = Patient.new
p.diagnosis("sick")
expect(p.data[:diagnosis]).to eq(["sick"])
p.reset!
expect(p.data[:diagnosis]).to eq([])
p.treat("healthy")
expect(p.data[:treatments]).to eq(["healthy"])
- Sample.reset!
+ Patient.reset!
expect(p.data[:treatments]).to eq([])
end
end