Sha256: 605634284a832d1953921757dfd738487b29142120e5f959bdf8fcd0105bfb76

Contents?: true

Size: 1.36 KB

Versions: 56

Compression:

Stored size: 1.36 KB

Contents

require 'core/spec_helper'

describe ZendeskAPI::Middleware::Response::ParseIsoDates do
  def fake_response(data)
    stub_json_request(:get, %r{blergh}, data)
    response = client.connection.get("blergh")
    response.status.should == 200
    response
  end

  let(:parsed){
    if RUBY_VERSION > "1.9"
      "2012-02-01 13:14:15 UTC"
    else
      "Wed Feb 01 13:14:15 UTC 2012"
    end
  }

  it "should parse dates" do
    fake_response('{"x":"2012-02-01T13:14:15Z"}').body["x"].to_s.should == parsed
  end

  it "should parse nested dates in hash" do
    fake_response('{"x":{"y":"2012-02-01T13:14:15Z"}}').body["x"]["y"].to_s.should == parsed
  end

  it "should parse nested dates in arrays" do
    fake_response('{"x":[{"y":"2012-02-01T13:14:15Z"}]}').body["x"][0]["y"].to_s.should == parsed
  end

  it "should not blow up on empty body" do
    fake_response('').body.should == nil
  end

  it "should leave arrays with ids alone" do
    fake_response('{"x":[1,2,3]}').body.should == {"x" => [1,2,3]}
  end

  it "should not parse date-like things" do
    fake_response('{"x":"2012-02-01T13:14:15Z bla"}').body["x"].to_s.should == "2012-02-01T13:14:15Z bla"
    fake_response('{"x":"12012-02-01T13:14:15Z"}').body["x"].to_s.should == "12012-02-01T13:14:15Z"
    fake_response(%Q{{"x":"2012-02-01T13:14:15Z\\nfoo"}}).body["x"].to_s.should == "2012-02-01T13:14:15Z\nfoo"
  end
end

Version data entries

56 entries across 56 versions & 1 rubygems

Version Path
zendesk_api-1.3.9 spec/core/middleware/response/parse_iso_dates_spec.rb
zendesk_api-1.3.8 spec/core/middleware/response/parse_iso_dates_spec.rb
zendesk_api-1.3.7 spec/core/middleware/response/parse_iso_dates_spec.rb
zendesk_api-1.2.10 spec/core/middleware/response/parse_iso_dates_spec.rb
zendesk_api-1.2.9 spec/core/middleware/response/parse_iso_dates_spec.rb
zendesk_api-0.3.14 spec/core/middleware/response/parse_iso_dates_spec.rb
zendesk_api-1.2.8 spec/core/middleware/response/parse_iso_dates_spec.rb
zendesk_api-1.3.5 spec/core/middleware/response/parse_iso_dates_spec.rb
zendesk_api-1.2.7 spec/core/middleware/response/parse_iso_dates_spec.rb
zendesk_api-1.3.4 spec/core/middleware/response/parse_iso_dates_spec.rb
zendesk_api-1.3.2 spec/core/middleware/response/parse_iso_dates_spec.rb
zendesk_api-1.3.1 spec/core/middleware/response/parse_iso_dates_spec.rb
zendesk_api-1.3.0 spec/core/middleware/response/parse_iso_dates_spec.rb
zendesk_api-1.3.0.rc3 spec/core/middleware/response/parse_iso_dates_spec.rb
zendesk_api-1.2.6 spec/core/middleware/response/parse_iso_dates_spec.rb
zendesk_api-1.3.0.rc2 spec/core/middleware/response/parse_iso_dates_spec.rb
zendesk_api-1.3.0.rc1 spec/core/middleware/response/parse_iso_dates_spec.rb
zendesk_api-1.2.5 spec/core/middleware/response/parse_iso_dates_spec.rb
zendesk_api-1.2.4 spec/core/middleware/response/parse_iso_dates_spec.rb
zendesk_api-1.2.3 spec/core/middleware/response/parse_iso_dates_spec.rb