Sha256: d918f87aa476767e9d085b56f2e3e6793899a33c9d35a6a7367d10eacc4d89e2

Contents?: true

Size: 1.83 KB

Versions: 12

Compression:

Stored size: 1.83 KB

Contents

require 'spec_helper'

describe Freddy::Payload do
  describe '#dump' do
    it 'serializes time objects as iso8601 format strings' do
      expect(dump(time: Time.utc(2016, 1, 4, 20, 18)))
        .to eq('{"time":"2016-01-04T20:18:00Z"}')
    end

    it 'serializes time objects in an array as iso8601 format strings' do
      expect(dump(time: [Time.utc(2016, 1, 4, 20, 18)]))
        .to eq('{"time":["2016-01-04T20:18:00Z"]}')
    end

    it 'serializes time objects in a nested hash as iso8601 format strings' do
      expect(dump(x: {time: Time.utc(2016, 1, 4, 20, 18)}))
        .to eq('{"x":{"time":"2016-01-04T20:18:00Z"}}')
    end

    it 'serializes date objects as iso8601 format strings' do
      expect(dump(date: Date.new(2016, 1, 4)))
        .to eq('{"date":"2016-01-04"}')
    end

    it 'serializes date objects in an array as iso8601 format strings' do
      expect(dump(date: [Date.new(2016, 1, 4)]))
        .to eq('{"date":["2016-01-04"]}')
    end

    it 'serializes date objects in a nested hash as iso8601 format strings' do
      expect(dump(x: {date: Date.new(2016, 1, 4)}))
        .to eq('{"x":{"date":"2016-01-04"}}')
    end

    it 'serializes datetime objects as iso8601 format strings' do
      expect(dump(datetime: DateTime.new(2016, 1, 4, 20, 18)))
        .to eq('{"datetime":"2016-01-04T20:18:00+00:00"}')
    end

    it 'serializes datetime objects in an array as iso8601 format strings' do
      expect(dump(datetime: [DateTime.new(2016, 1, 4, 20, 18)]))
        .to eq('{"datetime":["2016-01-04T20:18:00+00:00"]}')
    end

    it 'serializes datetime objects in a nested hash as iso8601 format strings' do
      expect(dump(x: {datetime: DateTime.new(2016, 1, 4, 20, 18)}))
        .to eq('{"x":{"datetime":"2016-01-04T20:18:00+00:00"}}')
    end

    def dump(payload)
      described_class.dump(payload)
    end
  end
end

Version data entries

12 entries across 12 versions & 2 rubygems

Version Path
freddy-1.4.1 spec/freddy/payload_spec.rb
freddy-1.4.0 spec/freddy/payload_spec.rb
freddy-1.3.3 spec/freddy/payload_spec.rb
freddy-jruby-1.3.2 spec/freddy/payload_spec.rb
freddy-1.3.2 spec/freddy/payload_spec.rb
freddy-1.3.1 spec/freddy/payload_spec.rb
freddy-1.3.0 spec/freddy/payload_spec.rb
freddy-1.2.0 spec/freddy/payload_spec.rb
freddy-1.1.0 spec/freddy/payload_spec.rb
freddy-1.0.1 spec/freddy/payload_spec.rb
freddy-jruby-1.0.0 spec/freddy/payload_spec.rb
freddy-1.0.0 spec/freddy/payload_spec.rb