Sha256: 57676c92c51c16649de6a1b5575089039c59f862dadb7bf5f59c2d0bc97dcac5

Contents?: true

Size: 1.48 KB

Versions: 2

Compression:

Stored size: 1.48 KB

Contents

require 'spec_helper'

describe Metric::Track do
  it "composes the request url" do
    Metric::Track.compose("hits").should == "https://api.metric.io/v1/sites/spec/track?metric=hits"
  end

  it "gets correct url when tracking" do
    Metric::Track.should_receive(:quit_early?).and_return(false)
    Metric::Track.should_receive(:compose).with("hits", {})
    Metric::Track.track("hits")
  end

  it "uses http when ssl is false" do
    Metric.configure do |config|
      config.ssl = false
    end
    Metric::Track.compose("hits").should == "http://api.metric.io/v1/sites/spec/track?metric=hits"
  end

  it "encodes the input" do
    result = "https://api.metric.io/v1/sites/spec/track?metric=hits%20and%20spaces"
    Metric::Track.compose("hits and spaces").should == result
  end

  it "sends custom amount" do
    result = "https://api.metric.io/v1/sites/spec/track?metric=hits&amount=42"
    Metric::Track.compose("hits", :amount => 42).should == result
  end

  it "does nothing if amount is 0" do
    Metric::Track.should_not_receive(:compose)
    Metric::Track.track("hits", :amount => 0)
  end

  it "passes in custom date" do
    result = "https://api.metric.io/v1/sites/spec/track?metric=hits&date=20120101"
    Metric::Track.compose("hits", :date => "20120101").should == result
  end

  it "passes in meta information" do
    result = "https://api.metric.io/v1/sites/spec/track?metric=payment&meta=userid%3A%201"
    Metric::Track.compose("payment", :meta => "userid: 1").should == result
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
metric-0.1.2 spec/metric/track_spec.rb
metric-0.1.1 spec/metric/track_spec.rb