require "spec_helper" describe Dgr do it "fetch data from server" do response = Dgr.fetch("54a814079cbc60e12d30c2d2") expect(response.code).to eq 200 parsed = JSON.parse(response) first_one = parsed.first expect(first_one["name"].to_s).to eq "Ms. Eula Yost MD" expect(first_one["bmi"]).to eq 16.35 expect(first_one["age"]).to eq 48 expect(first_one["birthday"]).to eq "1988-09-06T00:00:00.000Z" expect(first_one["country"]).to eq "East Staceyberg" expect(first_one["married"]).to eq true end it "get the count number of data" do response = Dgr.fetch("54a814079cbc60e12d30c2d2", :fields => "count()") expect(response).to eq "11" end it "shold get specfic spec field of data" do response = Dgr.fetch("54a814079cbc60e12d30c2d2", :fields => "name,bmi") parsed = JSON.parse(response) expect(parsed.all? {|p| p.has_key?("name")}).to eq true expect(parsed.all? {|p| p.has_key?("bmi")}).to eq true expect(parsed.all? {|p| p.has_key?("age")}).to eq false end it "shold get limit number of data" do response = Dgr.fetch("54a814079cbc60e12d30c2d2", :limit => 5) parsed = JSON.parse(response) expect(parsed.length).to eq 5 end it "shold get specfic selector of data" do response = Dgr.fetch("54a814079cbc60e12d30c2d2", :selector => "age>31ANDage<35") parsed = JSON.parse(response) expect(parsed.all? {|p| p["age"] > 31 && p["age"] <35}).to eq true end end