Sha256: b87e2314c6d1810e0698784bf190d0eb6cc06956db3bbe9ccbdaaa888bd4664a
Contents?: true
Size: 1.34 KB
Versions: 6
Compression:
Stored size: 1.34 KB
Contents
require_relative 'helper' require_relative "../lib/sohm/json" class Venue < Sohm::Model include Sohm::AutoId attribute :name list :programmers, :Programmer end class Programmer < Sohm::Model include Sohm::AutoId include Sohm::IndexAll attribute :language index :language def to_hash super.merge(language: language) end end test "exports model.to_hash to json" do assert_equal Hash.new, JSON.parse(Venue.new.to_json) venue = Venue.create(name: "foo") json = JSON.parse(venue.to_json) assert_equal venue.id, json["id"] assert_equal nil, json["name"] programmer = Programmer.create(language: "Ruby") json = JSON.parse(programmer.to_json) assert_equal programmer.id, json["id"] assert_equal programmer.language, json["language"] end test "exports a set to json" do Programmer.create(language: "Ruby") Programmer.create(language: "Python") expected = [{ id: "1", language: "Ruby" }, { id: "2", language: "Python"}].to_json assert_equal expected, Programmer.all.to_json end test "exports a list to json" do venue = Venue.create(name: "Foo") venue.programmers.push(Programmer.create(language: "Ruby")) venue.programmers.push(Programmer.create(language: "Python")) expected = [{ id: "1", language: "Ruby" }, { id: "2", language: "Python"}].to_json assert_equal expected, venue.programmers.to_json end
Version data entries
6 entries across 6 versions & 1 rubygems
Version | Path |
---|---|
sohm-0.10.5 | test/json.rb |
sohm-0.10.4 | test/json.rb |
sohm-0.10.3 | test/json.rb |
sohm-0.10.2 | test/json.rb |
sohm-0.10.1 | test/json.rb |
sohm-0.10.0 | test/json.rb |