require 'spec_helper' describe "persistance" do let(:db){CouchPotato.database.couchrest_database} let(:debug) { StringIO.new } #let(:db_uri){ File.join(db.uri.host, db.name)} describe "database format" do it "persists with proper ruby class" do employee = create :employee uri = URI.parse(File.join(db.uri, employee.id)) http = Net::HTTP.new uri.host, uri.port http.set_debug_output(debug) request = Net::HTTP::Get.new(uri.request_uri) request.basic_auth uri.user, uri.password response = http.request(request) doc = JSON.parse(response.body) doc['ruby_class'].should eq 'Employee' doc.should_not have_key 'id' #response.should include %|"ruby_class":"Employee"| #response.should_not include %|"id":| end it "stores time in UTC iso8601 format" do time = Time.utc(1981, 3, 9, 13, 22, 2).in_time_zone Timecop.travel time do employee_shift = create :employee_shift, start_from: time, end_on: time + 2.hours uri = URI.parse(File.join(db.uri, employee_shift.id)) http = Net::HTTP.new uri.host, uri.port http.set_debug_output(debug) request = Net::HTTP::Get.new(uri.request_uri) request.basic_auth uri.user, uri.password response = http.request(request) response = JSON.parse response.body response['created_at'].should eq "1981-03-09T13:22:02Z" response['updated_at'].should eq "1981-03-09T13:22:02Z" response['start_from'].should eq "1981-03-09T13:22:02Z" response['end_on'].should eq "1981-03-09T15:22:02Z" end end end end