sklik-api 0.0.16 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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