forked from railslove/rack-tracker
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgoogle_adwords_conversion_spec.rb
More file actions
68 lines (61 loc) · 2.56 KB
/
Copy pathgoogle_adwords_conversion_spec.rb
File metadata and controls
68 lines (61 loc) · 2.56 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
RSpec.describe Rack::Tracker::GoogleAdwordsConversion do
def env
{
misc: 'foobar',
user_id: '123'
}
end
it 'will be placed in the body' do
expect(described_class.position).to eq(:body)
expect(described_class.new(env).position).to eq(:body)
expect(described_class.new(env, position: :body).position).to eq(:body)
end
describe "with events" do
describe "default" do
def env
{'tracker' => {
'google_adwords_conversion' => [
{ 'class_name' => 'Conversion', 'id' => 123456, 'language' => 'en', 'format' => '3', 'color' => 'ffffff', 'label' => 'Conversion Label' }
]
}}
end
subject { described_class.new(env).render }
it 'will show events' do
expect(subject).to match(%r{var google_conversion_id = 123456;})
expect(subject).to match(%r{var google_conversion_language = 'en';})
expect(subject).to match(%r{var google_conversion_format = '3';})
expect(subject).to match(%r{var google_conversion_color = 'ffffff';})
expect(subject).to match(%r{var google_conversion_label = 'Conversion Label';})
expect(subject).to match(%r{<img.*src=\"\/\/www.googleadservices.com\/pagead\/conversion\/123456\/\?label=Conversion%20Label&guid=ON&script=0\"/>})
end
end
end
describe 'with options' do
context 'when there are no params for the handler' do
let(:options) { { id: 123456,
language: 'en',
format: '3',
color: 'ffffff',
label: 'Conversion Label' } }
let(:env) do
{
'tracker' => {
'google_adwords_conversion' => [
{ 'class_name' => 'Conversion', 'value' => '10.0' }
]
}
}
end
subject { described_class.new(env, options).render }
it 'will show events by using default options' do
expect(subject).to match(%r{var google_conversion_id = 123456;})
expect(subject).to match(%r{var google_conversion_language = 'en';})
expect(subject).to match(%r{var google_conversion_format = '3';})
expect(subject).to match(%r{var google_conversion_color = 'ffffff';})
expect(subject).to match(%r{var google_conversion_label = 'Conversion Label';})
expect(subject).to match(%r{var google_conversion_value = 10.0;})
expect(subject).to match(%r{<img.*src=\"\/\/www.googleadservices.com\/pagead\/conversion\/123456\/\?label=Conversion%20Label&guid=ON&script=0\"/>})
end
end
end
end