Files
mozo-backend/spec/integrety/persistance_spec.rb
T
2025-09-23 17:45:00 -05:00

52 lines
1.6 KiB
Ruby

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