sklik-api 0.0.16 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,180 +0,0 @@
1
- # -*- encoding : utf-8 -*-
2
- require 'helper'
3
- class CampaignTest < Test::Unit::TestCase
4
- context "Campaign" do
5
-
6
- setup do
7
- @test_campaign_hash = {
8
- :name => "hustokrutě megapřísně - #{Time.now.strftime("%Y.%m.%d %H:%M:%S")}",
9
- :status => :running,
10
- :cpc => 3.5,
11
- :budget => 15.0,
12
- :customer_id => 192495,
13
- :excluded_search_services => [2,3,4,5,6,7,8], #choose only seznam.cz
14
- :network_setting => {
15
- :content => true,
16
- :search => true
17
- },
18
-
19
- :ad_groups => [
20
- {
21
- :name => "my adgroup name",
22
- :ads => [
23
- {
24
- :headline => "Super headline",
25
- :description1 => "Trying to do ",
26
- :description2 => "best description ever",
27
- :display_url => "bartas.cz",
28
- :url => "http://www.bartas.cz"
29
- }
30
- ],
31
- :keywords => [
32
- "\"some funny keyword\"",
33
- "[myphrase keyword]",
34
- "mybroad keyword for me",
35
- "test of diarcritics âô"
36
- ]
37
- },
38
- {
39
- :name => "hustokrutě mazácká adgroupa",
40
- :ads => [
41
- {
42
- :headline => "Super bombasitcký",
43
- :description1 => "Trying to do ",
44
- :description2 => "best description ever",
45
- :display_url => "bartas.cz",
46
- :url => "http://www.bartas.cz?utm_adgroup=4"
47
- }
48
- ],
49
- :keywords => [
50
- "\"some funny keyword\"",
51
- "[myphrase keyword]",
52
- "-negative broad keyword",
53
- "test of diarcritics âô",
54
- "dokonalý kw"
55
- ]
56
- }
57
- ]
58
- }
59
- @campaign = SklikApi::Campaign.new(@test_campaign_hash)
60
- end
61
-
62
- should "be initialized" do
63
- assert_nothing_raised do
64
- SklikApi::Campaign.new(@test_campaign_hash)
65
- end
66
- end
67
-
68
- should "be found" do
69
- assert SklikApi::Campaign.find().size > 0, "In sklik sandbox should be some campaigns"
70
- end
71
-
72
- should "return stats" do
73
- assert_nothing_raised do
74
- SklikApi::Campaign.find(:campaign_id => 390265).first.get_stats Date.today, Date.today
75
- end
76
- end
77
-
78
- should "have hash stored inside" do
79
- assert_equal @campaign.args, @test_campaign_hash
80
- end
81
-
82
- should "return empty array when asking for not known campaign" do
83
- assert_equal SklikApi::Campaign.find(:campaign_id => 123456789).size , 0
84
- end
85
-
86
- should "return array of search services" do
87
- assert_equal SklikApi::Campaign.list_search_services, [{:id=>1, :name=>"Vyhledávání na Seznam.cz"},
88
- {:id=>2, :name=>"Firmy.cz"},
89
- {:id=>3, :name=>"Sbazar.cz"},
90
- {:id=>4, :name=>"Encyklopedie.Seznam.cz"},
91
- {:id=>5, :name=>"Seznam na mobil (Smobil.cz)"},
92
- {:id=>6, :name=>"Seznam Obrázky (Obrazky.cz)"},
93
- {:id=>7, :name=>"Seznam Zboží (Zbozi.cz)"},
94
- {:id=>8, :name=>"Partnerské vyhledávače"}]
95
- end
96
-
97
- context "create" do
98
- setup do
99
- @campaign = SklikApi::Campaign.new(@test_campaign_hash)
100
- unless @campaign.save
101
- puts "ERROR: \n #{@campaign.errors.join("\n")}"
102
- end
103
- end
104
-
105
- should "return valid to_hash" do
106
- campaigns = SklikApi::Campaign.find(:customer_id => @campaign.args[:customer_id], :campaign_id => @campaign.args[:campaign_id])
107
- assert_equal campaigns.size, 1, "Find should return array containing one campaign"
108
- campaign = campaigns.first
109
- campaign_hash = campaign.to_hash
110
- assert_equal campaign_hash[:ad_groups].size, @test_campaign_hash[:ad_groups].size, "Campaign should have right adgroup count"
111
- assert_equal campaign_hash[:ad_groups].inject(0){|i,o| i + o[:keywords].size}, @test_campaign_hash[:ad_groups].inject(0){|i,o| i + o[:keywords].size}, "Campaign should have right keywords count"
112
- assert_equal campaign_hash[:ad_groups].inject(0){|i,o| i + o[:ads].size}, @test_campaign_hash[:ad_groups].inject(0){|i,o| i + o[:ads].size}, "Campaign should have right ads count"
113
- end
114
-
115
- should "be created with right parameters" do
116
-
117
- assert_equal @campaign.args[:status], :running, "Must be running"
118
-
119
- campaigns = SklikApi::Campaign.find(:customer_id => @campaign.args[:customer_id], :campaign_id => @campaign.args[:campaign_id])
120
- campaign_hash = campaigns.first.to_hash
121
-
122
- assert_equal campaign_hash[:campaign_id], @campaign.args[:campaign_id], "campaign id should be same"
123
- assert_equal campaign_hash[:status], :running , "campaign should be running"
124
- assert_equal campaign_hash[:budget].to_f, @test_campaign_hash[:budget].to_f, "budgets should be same"
125
- assert_equal campaign_hash[:name], @test_campaign_hash[:name], "campaign name should be same"
126
- assert_equal campaign_hash[:ad_groups].size, @test_campaign_hash[:ad_groups].size, "campaign ad_groups should have same count"
127
- end
128
-
129
- should "be created and updated by changing arguments" do
130
- campaign = SklikApi::Campaign.find(:customer_id => @campaign.args[:customer_id], :campaign_id => @campaign.args[:campaign_id]).first
131
- new_name = "Test of updated campaign name- #{Time.now.strftime("%Y.%m.%d %H:%M:%S")}"
132
- campaign.args[:name] = new_name
133
- campaign.save
134
- campaign_hash = SklikApi::Campaign.find(:customer_id => @campaign.args[:customer_id], :campaign_id => @campaign.args[:campaign_id]).first.to_hash
135
- assert_equal campaign_hash[:name], new_name, "campaign name should be same"
136
-
137
- campaign = SklikApi::Campaign.find(:customer_id => @campaign.args[:customer_id], :campaign_id => @campaign.args[:campaign_id]).first
138
- campaign.args[:status] = :paused
139
- campaign.save
140
- campaign_hash = SklikApi::Campaign.find(:customer_id => @campaign.args[:customer_id], :campaign_id => @campaign.args[:campaign_id]).first.to_hash
141
- assert_equal campaign_hash[:status], :paused, "campaign should be paused"
142
-
143
- campaign = SklikApi::Campaign.find(:customer_id => @campaign.args[:customer_id], :campaign_id => @campaign.args[:campaign_id]).first
144
- campaign.args[:status] = :stopped
145
- campaign.save
146
- campaign = SklikApi::Campaign.find(:customer_id => @campaign.args[:customer_id], :campaign_id => @campaign.args[:campaign_id]).first
147
- assert_equal campaign.args[:status], :stopped, "campaign should be stopped"
148
-
149
- campaign = SklikApi::Campaign.find(:customer_id => @campaign.args[:customer_id], :campaign_id => @campaign.args[:campaign_id]).first
150
- campaign.args[:status] = :paused
151
- campaign.save
152
- campaign = SklikApi::Campaign.find(:customer_id => @campaign.args[:customer_id], :campaign_id => @campaign.args[:campaign_id]).first
153
- assert_equal campaign.args[:status], :paused, "campaign should be paused"
154
- end
155
-
156
- should "be created and updated by update method" do
157
- campaign = SklikApi::Campaign.find(:customer_id => @campaign.args[:customer_id], :campaign_id => @campaign.args[:campaign_id]).first
158
- new_name = "Test of updated campaign name- #{Time.now.strftime("%Y.%m.%d %H:%M:%S")}"
159
- assert campaign.update(name: new_name), "Should update name"
160
- campaign_hash = SklikApi::Campaign.find(:customer_id => @campaign.args[:customer_id], :campaign_id => @campaign.args[:campaign_id]).first.to_hash
161
- assert_equal campaign_hash[:name], new_name, "campaign name should be same"
162
-
163
- campaign = SklikApi::Campaign.find(:customer_id => @campaign.args[:customer_id], :campaign_id => @campaign.args[:campaign_id]).first
164
- assert campaign.update(status: :paused), "should update status to paused"
165
- campaign_hash = SklikApi::Campaign.find(:customer_id => @campaign.args[:customer_id], :campaign_id => @campaign.args[:campaign_id]).first.to_hash
166
- assert_equal campaign_hash[:status], :paused, "campaign should be paused"
167
-
168
- campaign = SklikApi::Campaign.find(:customer_id => @campaign.args[:customer_id], :campaign_id => @campaign.args[:campaign_id]).first
169
- assert campaign.update(status: :stopped), "should update status to stopped"
170
- campaign = SklikApi::Campaign.find(:customer_id => @campaign.args[:customer_id], :campaign_id => @campaign.args[:campaign_id]).first
171
- assert_equal campaign.args[:status], :stopped, "campaign should be stopped"
172
-
173
- campaign = SklikApi::Campaign.find(:customer_id => @campaign.args[:customer_id], :campaign_id => @campaign.args[:campaign_id]).first
174
- assert campaign.update(status: :paused), "should update status to paused"
175
- campaign = SklikApi::Campaign.find(:customer_id => @campaign.args[:customer_id], :campaign_id => @campaign.args[:campaign_id]).first
176
- assert_equal campaign.args[:status], :paused, "campaign should be paused"
177
- end
178
- end
179
- end
180
- end