Sha256: 1c9b9c302ccc7ba694e6e6bba34b507aafd807c13f3e437a6e61f2961cb6345f
Contents?: true
Size: 1.42 KB
Versions: 6
Compression:
Stored size: 1.42 KB
Contents
# frozen_string_literal: true require "test_helper" class PbbuilderTest < ActiveSupport::TestCase test "it makes it possible to create a person" do person = Pbbuilder.new(API::Person.new) do |pb| pb.name "Hello world" pb.friends 1..3 do |number| pb.name "Friend ##{number}" end pb.best_friend do pb.name "Manuelo" end pb.field_mask do pb.paths ["ok", "that's"] pb.paths "cool" end pb.favourite_foods({ "Breakfast" => "Eggs", "Lunch" => "Shawarma", "Dinner" => "Pizza" }) end.target! assert_equal "Hello world", person.name assert_equal "Friend #1", person.friends.first.name assert_equal ["ok", "that's", "cool"], person.field_mask.paths assert_equal "Manuelo", person.best_friend.name assert_equal "Eggs", person.favourite_foods["Breakfast"] end test "it can extract fields in a nice way" do klass = Struct.new(:name) friends = [klass.new("Friend 1"), klass.new("Friend 2")] person = Pbbuilder.new(API::Person.new) do |pb| pb.name "Hello world" pb.friends friends, :name pb.best_friend friends[0], :name end.target! assert_equal person.name, "Hello world" assert_equal person.friends.size, 2 assert_equal person.friends.first.name, "Friend 1" assert_equal person.friends.last.name, "Friend 2" assert_equal person.best_friend.name, "Friend 1" end end
Version data entries
6 entries across 6 versions & 1 rubygems