Sha256: 1105645b2ce9116a1b886c2b103a75b6d01dd7219a017221df7bbee3f7af877c

Contents?: true

Size: 1.43 KB

Versions: 1

Compression:

Stored size: 1.43 KB

Contents

#
# tracking_code_spec.rb
# Crowdskout
#
# Copyright (c) 2016 Kyle Schutt. All rights reserved.require 'spec_helper'

require 'spec_helper'

describe Crowdskout::Components::TrackingCode do
  before do 
    @json_string = %[{
                        "source": 1,
                        "organization": 2,
                        "client": 3
                      }]
    @hash = JSON.parse(@json_string)
  end

  it "creates a component" do
    component = Crowdskout::Components::TrackingCode.create(@hash)
    expect(component.source).to eq 1
    expect(component.organization).to eq 2
    expect(component.client).to eq 3
    
    expect(component.tracking_code_source.gsub(/\s+/, " ")).to eq %{<!-- Crowdskout -->
            <script>
            (function(l,o,v,e,d) {
              l.cs=l.cs || function() {cs.q.push(arguments);};
              cs.q=cs.q||[];cs.apiUrl=d;cs('pageView');
              l.sourceId = #{component.source};l.clientId = #{component.client};l.organizationId = #{component.organization};
              var a=o.getElementsByTagName(v)[0];var b=o.createElement(v);b.src=e+'/analytics.js';a.parentNode.insertBefore(b,a);
              })(window, document, 'script', '//s.crowdskout.com','https://a.crowdskout.com');
              </script>}.gsub(/\s+/, " ")
  end
  it "generates the correct json object" do 
    component = Crowdskout::Components::TrackingCode.create(@hash)
    expect(JSON.parse(component.to_json)).to eq @hash
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
crowdskout-0.0.13 spec/crowdskout/components/quartermaster/tracking_code_spec.rb