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