spec/unit/rack/user_spec.rb in airbrake-6.1.1 vs spec/unit/rack/user_spec.rb in airbrake-6.1.2

- old
+ new

@@ -187,7 +187,36 @@ it "is empty" do expect(user_data).to be_empty end end + + context "when Rack user's field expects a parameter" do + let(:user_data) do + described_class.new( + Class.new do + def name(required_param) + "my name is #{required_param}" + end + + def id(required_param, *optional_params) + "id is #{required_param} #{optional_params.inspect}" + end + + def username(*optional_params) + "username is #{optional_params.inspect}" + end + end.new + ).as_json + end + + it "does not call the method if it has required parameters" do + expect(user_data[:user]).not_to include(:id) + expect(user_data[:user]).not_to include(:name) + end + + it "calls the method if it has a variable number of optional parameters" do + expect(user_data[:user]).to include(:username) + end + end end end