citygrid_api 0.0.5.1 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (122) hide show
  1. data/.sass-cache/c6f2c767b164f077e5b9fb1f18a7886d7c755211/test.scssc +0 -0
  2. data/Gemfile +3 -1
  3. data/Gemfile.lock +9 -1
  4. data/VERSION +1 -1
  5. data/citygrid_api.gemspec +85 -45
  6. data/citygrid_api.yml.backup +35 -0
  7. data/citygrid_api.yml.sample +35 -23
  8. data/fixtures/vcr_cassettes/AdGroupCriterion_mutate.yml +30 -0
  9. data/fixtures/vcr_cassettes/AdGroupCriterion_search.yml +35 -0
  10. data/fixtures/vcr_cassettes/Adding_a_place.yml +33 -0
  11. data/fixtures/vcr_cassettes/Call_Detail_by_campaign.yml +79 -0
  12. data/fixtures/vcr_cassettes/Geo.yml +32 -0
  13. data/fixtures/vcr_cassettes/Getting_an_offer_by_listing_ID.yml +54 -0
  14. data/fixtures/vcr_cassettes/Import_a_cg_account.yml +54 -0
  15. data/fixtures/vcr_cassettes/Initiating_a_Details.yml +133 -0
  16. data/fixtures/vcr_cassettes/Initiating_new_MultiDetails.yml +133 -0
  17. data/fixtures/vcr_cassettes/Method_of_Payment_mutate.yml +33 -0
  18. data/fixtures/vcr_cassettes/Method_of_Payment_search.yml +59 -0
  19. data/fixtures/vcr_cassettes/Mutating_AdGroup_Ads.yml +30 -0
  20. data/fixtures/vcr_cassettes/Report_summary_daily.yml +60 -0
  21. data/fixtures/vcr_cassettes/Report_summary_user_actions.yml +36 -0
  22. data/fixtures/vcr_cassettes/Search_Ad_Group_by_Campaign_Id.yml +31 -0
  23. data/fixtures/vcr_cassettes/Search_Billing_by_Campaign_Id.yml +30 -0
  24. data/fixtures/vcr_cassettes/Search_account_manager_by_Campaign_Id.yml +30 -0
  25. data/fixtures/vcr_cassettes/Searching_AdGroup_Geo.yml +57 -0
  26. data/fixtures/vcr_cassettes/Searching_budgets.yml +30 -0
  27. data/fixtures/vcr_cassettes/Searching_categories_by_listing_id.yml +35 -0
  28. data/fixtures/vcr_cassettes/Searching_categories_by_query.yml +33 -0
  29. data/fixtures/vcr_cassettes/Upload_an_image_Add_a_preview.yml +31 -0
  30. data/fixtures/vcr_cassettes/create_campaign.yml +30 -0
  31. data/fixtures/vcr_cassettes/log_in_a_session.yml +24 -0
  32. data/fixtures/vcr_cassettes/log_in_a_session_mutate_places.yml +56 -0
  33. data/fixtures/vcr_cassettes/query_account_type_by_id.yml +30 -0
  34. data/fixtures/vcr_cassettes/search_for_an_account_by_id.yml +31 -0
  35. data/fixtures/vcr_cassettes/search_for_an_account_by_name.yml +55 -0
  36. data/fixtures/vcr_cassettes/searching_for_a_CityGrid_listing.yml +168 -0
  37. data/fixtures/vcr_cassettes/searching_for_a_special_CityGrid_listing.yml +67 -0
  38. data/lib/citygrid/abstraction/requestable.rb +1 -0
  39. data/lib/citygrid/api/accounts/account.rb +17 -0
  40. data/lib/citygrid/api/accounts/authentication.rb +3 -0
  41. data/lib/citygrid/api/accounts/method_of_payment.rb +10 -0
  42. data/lib/citygrid/api/accounts/user.rb +18 -0
  43. data/lib/citygrid/api/accounts.rb +8 -0
  44. data/lib/citygrid/api/advertising/account_manager.rb +9 -0
  45. data/lib/citygrid/api/advertising/ad_group.rb +10 -0
  46. data/lib/citygrid/api/advertising/ad_group_ad.rb +10 -0
  47. data/lib/citygrid/api/advertising/ad_group_criterion.rb +10 -0
  48. data/lib/citygrid/api/advertising/ad_group_geo.rb +10 -0
  49. data/lib/citygrid/api/advertising/billing.rb +9 -0
  50. data/lib/citygrid/api/advertising/budget.rb +10 -0
  51. data/lib/citygrid/api/advertising/call_detail.rb +10 -0
  52. data/lib/citygrid/api/advertising/campaign.rb +10 -0
  53. data/lib/citygrid/api/advertising/category.rb +10 -0
  54. data/lib/citygrid/api/advertising/geolocation.rb +10 -0
  55. data/lib/citygrid/api/{ad_center → advertising}/image.rb +2 -2
  56. data/lib/citygrid/api/{ad_center → advertising}/performance.rb +5 -2
  57. data/lib/citygrid/api/advertising/places.rb +10 -0
  58. data/lib/citygrid/api/advertising.rb +10 -0
  59. data/lib/citygrid/api/content/offers.rb +2 -12
  60. data/lib/citygrid/api/content/places.rb +4 -26
  61. data/lib/citygrid/api/content.rb +1 -5
  62. data/lib/citygrid/api/mutatable.rb +15 -0
  63. data/lib/citygrid/api/searchable.rb +15 -0
  64. data/lib/citygrid/api.rb +54 -52
  65. data/lib/citygrid/details.rb +3 -6
  66. data/lib/citygrid/offers.rb +1 -5
  67. data/lib/citygrid/search.rb +3 -6
  68. data/lib/citygrid/session.rb +65 -0
  69. data/lib/citygrid.rb +46 -75
  70. data/lib/request_ext.rb +4 -5
  71. data/lib/string_ext.rb +7 -0
  72. data/test/api/accounts/test_account.rb +111 -0
  73. data/test/api/accounts/test_method_of_payment.rb +50 -0
  74. data/test/api/advertising/test_account_manager.rb +14 -0
  75. data/test/api/advertising/test_ad_group.rb +13 -0
  76. data/test/api/advertising/test_ad_group_ad.rb +24 -0
  77. data/test/api/advertising/test_ad_group_criterion.rb +47 -0
  78. data/test/api/{ad_center → advertising}/test_ad_group_geo.rb +1 -1
  79. data/test/api/{ad_center → advertising}/test_billing.rb +4 -3
  80. data/test/api/{ad_center → advertising}/test_budget.rb +3 -3
  81. data/test/api/{ad_center → advertising}/test_call_detail.rb +5 -11
  82. data/test/api/{ad_center → advertising}/test_category.rb +9 -12
  83. data/test/api/advertising/test_create_campaign_and_ad_group.rb +56 -0
  84. data/test/api/{ad_center → advertising}/test_geolocation.rb +1 -1
  85. data/test/api/{ad_center → advertising}/test_image.rb +1 -3
  86. data/test/api/{ad_center/test_reports.rb → advertising/test_performance.rb} +6 -10
  87. data/test/api/advertising/test_places.rb +109 -0
  88. data/test/{test_details.rb → api/content/test_details.rb} +2 -3
  89. data/test/{test_search.rb → api/content/test_search.rb} +2 -2
  90. data/test/auth_token.rb +39 -0
  91. data/test/helper.rb +31 -31
  92. data/test/session_helper.rb +20 -0
  93. data/test/test_session.rb +53 -0
  94. metadata +115 -67
  95. data/lib/citygrid/api/ad_center/account.rb +0 -26
  96. data/lib/citygrid/api/ad_center/account_manager.rb +0 -8
  97. data/lib/citygrid/api/ad_center/ad_group.rb +0 -8
  98. data/lib/citygrid/api/ad_center/ad_group_ad.rb +0 -8
  99. data/lib/citygrid/api/ad_center/ad_group_criterion.rb +0 -8
  100. data/lib/citygrid/api/ad_center/ad_group_geo.rb +0 -8
  101. data/lib/citygrid/api/ad_center/authentication.rb +0 -20
  102. data/lib/citygrid/api/ad_center/billing.rb +0 -8
  103. data/lib/citygrid/api/ad_center/budget.rb +0 -9
  104. data/lib/citygrid/api/ad_center/call_detail.rb +0 -25
  105. data/lib/citygrid/api/ad_center/campaign.rb +0 -8
  106. data/lib/citygrid/api/ad_center/category.rb +0 -9
  107. data/lib/citygrid/api/ad_center/geolocation.rb +0 -9
  108. data/lib/citygrid/api/ad_center/method_of_payment.rb +0 -10
  109. data/lib/citygrid/api/ad_center/places.rb +0 -8
  110. data/lib/citygrid/api/ad_center/user.rb +0 -8
  111. data/lib/citygrid/api/ad_center.rb +0 -20
  112. data/lib/citygrid/api/content/places/detail.rb +0 -11
  113. data/lib/citygrid/api/content/places/search.rb +0 -11
  114. data/test/api/ad_center/test_account.rb +0 -120
  115. data/test/api/ad_center/test_ad_group.rb +0 -50
  116. data/test/api/ad_center/test_ad_group_ad.rb +0 -27
  117. data/test/api/ad_center/test_ad_group_criterion.rb +0 -37
  118. data/test/api/ad_center/test_authentication.rb +0 -22
  119. data/test/api/ad_center/test_campaign.rb +0 -27
  120. data/test/api/ad_center/test_method_of_payment.rb +0 -51
  121. data/test/api/ad_center/test_places.rb +0 -79
  122. data/test/api/content/test_places.rb +0 -66
@@ -0,0 +1,111 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'helper'))
2
+
3
+ context "search for an account" do
4
+ context "by name" do
5
+ setup do
6
+ run_with_rescue do
7
+ SessionHelper.sales_coord.call_api CityGrid::API::Accounts::Account,
8
+ :search,
9
+ :userName => '25-1'
10
+ end
11
+ end
12
+ should("not be empty"){ !topic.empty? }
13
+ should("return message OK"){ topic.accountList.first.response.message }.equals("OK")
14
+ should("return response code OK"){ topic.accountList.first.response.code.to_i }.equals(200)
15
+ end
16
+
17
+ context "by id" do
18
+ setup do
19
+ run_with_rescue do
20
+ SessionHelper.sales_coord.call_api CityGrid::API::Accounts::Account,
21
+ :search,
22
+ :id => 1250702
23
+ end
24
+ end
25
+ should("not be empty"){ !topic.empty? }
26
+ should("return message OK"){ topic.accountList.first.response.message }.equals("OK")
27
+ should("return response code OK"){ topic.accountList.first.response.code.to_i }.equals(200)
28
+ end
29
+ end
30
+
31
+ context "query account type" do
32
+ context "by id" do
33
+ setup do
34
+ run_with_rescue do
35
+ SessionHelper.sales_coord.call_api CityGrid::API::Accounts::Account,
36
+ :account_type,
37
+ :id => 1250702
38
+ end
39
+ end
40
+ should("not be empty"){ !topic.empty? }
41
+ should("return message OK"){ topic.response.message }.equals("OK")
42
+ should("return response code OK"){ topic.response.code.to_i }.equals(200)
43
+ should("return type s CYB code OK"){ topic.accountType }.equals("CYB")
44
+ end
45
+ end
46
+
47
+ context "import a cg account" do
48
+ setup do
49
+ run_with_rescue do
50
+ SessionHelper.gary_test.call_api CityGrid::API::Accounts::Account,
51
+ :import_to_cg,
52
+ "mutateOperationListResource" => [{
53
+ "operator" => "ADD",
54
+ "operand" => {
55
+ "firstName" => "nico-api",
56
+ "lastName" => "gomez-api",
57
+ "phone" => "9001111112",
58
+ "businessName" =>"businessProveApi",
59
+ "address1" =>"dir-api",
60
+ "city" =>"montevideo",
61
+ "state" =>"Montevideo",
62
+ "zipCode" =>"90069"
63
+ }
64
+ }]
65
+ end
66
+ end
67
+ should("not be empty"){ !topic.empty? }
68
+ should("return message OK"){ topic.accountList.first.response.message }.equals("OK")
69
+ should("return response code OK"){ topic.accountList.first.response.code.to_i }.equals(200)
70
+ end
71
+
72
+ context "create an account" do
73
+ set :vcr, false
74
+
75
+ username = "randuser_#{rand(10000000)}"
76
+ password = "randuserpass"
77
+
78
+ setup do
79
+ SessionHelper.sales_coord.call_api CityGrid::API::Accounts::Account,
80
+ :mutate,
81
+ "mutateOperationListResource" => [{
82
+ "operator" => "ADD",
83
+ "operand" => {
84
+ "firstName" => "nico-api",
85
+ "lastName" => "gomez-api",
86
+ "phone" => "9001111112",
87
+ "email" => "#{username}@a.com",
88
+ "userName" => username,
89
+ "password" => password,
90
+ "businessName" => "businessProveApi",
91
+ "address1" => "dir-api",
92
+ "city" => "montevideo",
93
+ "state" => "Montevideo",
94
+ "zipCode" => "90069"
95
+ }
96
+ }]
97
+ end
98
+ should("not be empty"){ !topic.empty? }
99
+ should("return message OK"){ topic.accountList.first.response.message }.equals("OK")
100
+ should("return response code OK"){ topic.accountList.first.response.code.to_i }.equals(200)
101
+
102
+ context "then logging in" do
103
+ setup do
104
+ CityGrid.login :username => username, :password => password
105
+ end
106
+ should("return an authToken"){ topic.authToken }
107
+ end
108
+
109
+ end
110
+
111
+
@@ -0,0 +1,50 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'helper'))
2
+
3
+ context "Method of Payment" do
4
+ context "search" do
5
+ setup do
6
+ run_with_rescue do
7
+ SessionHelper.kunimom.call_api CityGrid::API::Accounts::MethodOfPayment,
8
+ :search,
9
+ :accountId => 111
10
+ end
11
+ end
12
+ should("not be empty"){ !topic.empty?}
13
+ should("have MOP resources"){ !topic.mopResources.empty? }
14
+ end
15
+
16
+ # API not working here
17
+ context "mutate" do
18
+ setup do
19
+ run_with_rescue do
20
+ SessionHelper.kunimom.call_api CityGrid::API::Accounts::MethodOfPayment,
21
+ :mutate,
22
+ "mutateOperationListResource" => [{
23
+ "operator" => "ADD",
24
+ "operand" => {
25
+ "cardNumber" => "4112344112344113",
26
+ "expirationMonth" => 12,
27
+ "expirationYear" => 2012,
28
+ "nameOnAccount" => "Ara Tatous",
29
+ "cardType" => "Visa",
30
+ "state" => "NY" ,
31
+ "description" => "test addMOP",
32
+ "firstName" => "Ara",
33
+ "lastName" => "Tatous",
34
+ "phoneNumber" => "4252838811",
35
+ "address1" => "3131 Montrose Ave",
36
+ "address2" => "Apt. 9",
37
+ "city" => "LaCrescenta",
38
+ "postalCode" => "10016",
39
+ "accountId" => 2458392,
40
+ "securityCode" => "719",
41
+ "paymentType" => "Credit Card"
42
+ }
43
+ }]
44
+ end
45
+ end
46
+ should("not be empty"){ !topic.empty? }
47
+ should("return code OK"){ topic.resources.first.response.code }.equals(200)
48
+ should("return message OK") { topic.resources.first.response.message }.equals("OK")
49
+ end
50
+ end
@@ -0,0 +1,14 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'helper'))
2
+
3
+ context "Search account manager by Campaign Id" do
4
+ setup do
5
+ run_with_rescue do
6
+ SessionHelper.sales_coord.call_api CityGrid::API::Advertising::AccountManager,
7
+ :search,
8
+ :campaignId => 16631
9
+ end
10
+ end
11
+ should("not be empty"){ !topic.empty? }
12
+ should("have a first name"){ !topic.firstName.nil? }
13
+ should("have a last name"){ !topic.lastName.nil? }
14
+ end
@@ -0,0 +1,13 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'helper'))
2
+
3
+ context "Search Ad Group by Campaign Id" do
4
+ setup do
5
+ run_with_rescue do
6
+ SessionHelper.sales_coord.call_api CityGrid::API::Advertising::AdGroup,
7
+ :search,
8
+ :campaignId => 2434702
9
+ end
10
+ end
11
+ should("not be empty"){ !topic.empty? }
12
+ should("have campaignId"){ !topic.adGroups.first.campaignId.nil? }
13
+ end
@@ -0,0 +1,24 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'helper'))
2
+
3
+ context "Mutating AdGroup Ads" do
4
+ setup do
5
+ run_with_rescue do
6
+ SessionHelper.sales_coord.call_api CityGrid::API::Advertising::AdGroupAd,
7
+ :mutate,
8
+ "mutateOperationListResource" => [{
9
+ "operator" => "ADD",
10
+ "operand" => {
11
+ "groupId" => "2861",
12
+ "ad"=>{
13
+ "type" =>"PERFORMANCE_AD",
14
+ "tagline" => "myTagline",
15
+ "imageUrl" => "http://some_url.com"
16
+ }
17
+ }
18
+ }]
19
+ end
20
+ end
21
+ should("not be empty"){ !topic.empty? }
22
+ should("return code OK"){ topic.adGroupAds.first.response.code }.equals(200)
23
+ should("return message OK") { topic.adGroupAds.first.response.message }.equals("OK")
24
+ end
@@ -0,0 +1,47 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'helper'))
2
+
3
+ context "AdGroupCriterion" do
4
+ context "search" do
5
+ setup do
6
+ run_with_rescue do
7
+ SessionHelper.sales_coord.call_api CityGrid::API::Advertising::AdGroupCriterion,
8
+ :search,
9
+ :adGroupId => 6
10
+ end
11
+ end
12
+
13
+ should("not be empty?"){ !topic.empty? }
14
+ should("return code OK"){ topic.adGroupCriterions.first.response.code }.equals(200)
15
+ should("return message OK") { topic.adGroupCriterions.first.response.message }.equals("OK")
16
+ end
17
+
18
+ context "mutate" do
19
+ setup do
20
+ run_with_rescue do
21
+ SessionHelper.sales_coord.call_api CityGrid::API::Advertising::AdGroupCriterion,
22
+ :mutate,
23
+ "mutateOperationListResource" => [{
24
+ "operator" => "ADD",
25
+ "operand" => {
26
+ "adGroupId" => "2",
27
+ "adGroupAdId" => "1",
28
+ "adGroupCriterionId" =>
29
+ "1722",
30
+ "type" => "2"
31
+ }
32
+ }, {
33
+ "operator" => "REMOVE",
34
+ "operand" => {
35
+ "adGroupId" => "2",
36
+ "adGroupAdId" => "1",
37
+ "adGroupCriterionId" => "1722",
38
+ "type" => "2"
39
+ }
40
+ }]
41
+ end
42
+ end
43
+ should("not be empty"){ !topic.empty? }
44
+ should("return code OK"){ topic.adGroupCriterions.first.response.code }.equals(200)
45
+ should("return message OK") { topic.adGroupCriterions.first.response.message }.equals("OK")
46
+ end
47
+ end
@@ -3,7 +3,7 @@ require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'helper')
3
3
  context "Searching AdGroup Geo" do
4
4
  setup do
5
5
  run_with_rescue do
6
- CityGrid::API::AdCenter::AdGroupGeo.search(
6
+ CityGrid::API::Advertising::AdGroupGeo.search(
7
7
  :token => AuthToken.sales_coord,
8
8
  "adGroupId" => 78,
9
9
  "streetAddress" => "200 Robertson Blvd",
@@ -1,14 +1,15 @@
1
1
  require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'helper'))
2
2
 
3
-
4
3
  context "Search Billing by Campaign Id" do
5
4
  setup do
6
5
  run_with_rescue do
7
- CityGrid::API::AdCenter::Billing.search(:token => AuthToken.sales_coord, :campaignId => 16631)
6
+ SessionHelper.sales_coord.call_api CityGrid::API::Advertising::Billing,
7
+ :search,
8
+ :campaignId => 16631
8
9
  end
9
10
  end
10
11
  should("not be empty"){ !topic.empty? }
11
- should("have campaignId"){ !topic.campaignId.nil? }
12
+ should("have campaignId"){ !topic.billing.campaignId.nil? }
12
13
  end
13
14
 
14
15
 
@@ -1,11 +1,11 @@
1
1
  require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'helper'))
2
2
 
3
- token = AuthToken.generate
4
-
5
3
  context "Searching budgets" do
6
4
  setup do
7
5
  run_with_rescue do
8
- CityGrid::API::AdCenter::Budget.search(:listingId => 833372, :token => token)
6
+ SessionHelper.kunimom.call_api CityGrid::API::Advertising::Budget,
7
+ :search,
8
+ :listingId => 833372
9
9
  end
10
10
  end
11
11
  should("not be empty"){ !topic.empty? }
@@ -1,18 +1,12 @@
1
1
  require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'helper'))
2
2
 
3
- token = AuthToken.sales_coord
4
-
5
3
  context "Call Detail" do
6
4
  context "by campaign" do
7
5
  setup do
8
- run_with_rescue do
9
- CityGrid::API::AdCenter::CallDetail.get(
10
- :campaign,
11
- :campaignId => 786,
12
- :period => 'last30Days',
13
- :token => token
14
- )
15
- end
6
+ SessionHelper.sales_coord.call_api CityGrid::API::Advertising::CallDetail,
7
+ :campaign,
8
+ :campaignId => 786,
9
+ :period => 'last30Days'
16
10
  end
17
11
  should("not be empty"){ !topic.empty? }
18
12
  should("have call detail resources"){
@@ -23,7 +17,7 @@ context "Call Detail" do
23
17
  # context "note" do
24
18
  # setup do
25
19
  # run_with_rescue do
26
- # CityGrid::API::AdCenter::CallDetail.note(
20
+ # CityGrid::API::Advertising::CallDetail.note(
27
21
  # :campaignId => 786,
28
22
  # :period => 'last30Days',
29
23
  # :token => token
@@ -1,37 +1,34 @@
1
1
  require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'helper'))
2
2
 
3
- token = AuthToken.generate
4
-
5
3
  context "Searching categories" do
6
4
  context "by listing id" do
7
5
  setup do
8
6
  run_with_rescue do
9
- CityGrid::API::AdCenter::Category.search(
10
- :token => token,
7
+ SessionHelper.kunimom.call_api CityGrid::API::Advertising::Category,
8
+ :search,
11
9
  :listingId => 3680332,
12
10
  :startIndex => 0,
13
11
  :numberResults => 10
14
- )
15
12
  end
16
13
  end
17
14
  should("not be empty"){ !topic.empty? }
18
- should("respond with OK"){ topic.response.code == 200 }
19
- should("have resources"){ !topic.resources.empty? }
15
+ should("respond with OK"){ topic.response.code }.equals(200)
16
+ should("have resources"){ !topic.categories.empty? }
20
17
  end
21
18
 
22
19
  context "by query" do
23
20
  setup do
24
21
  run_with_rescue do
25
- CityGrid::API::AdCenter::Category.search(
22
+ SessionHelper.kunimom.call_api CityGrid::API::Advertising::Category,
23
+ :search,
26
24
  :keywords => "pizza",
27
25
  :startIndex => 0,
28
26
  :numberResults => 10,
29
- :token => token
30
- )
31
27
  end
32
28
  end
33
29
  should("not be empty"){ !topic.empty? }
34
- should("respond with OK"){ topic.response.code == 200 }
35
- should("have resources"){ !topic.resources.empty? }
30
+
31
+ should("respond with OK"){ topic.response.code }.equals(200)
32
+ should("have resources"){ !topic.categories.empty? }
36
33
  end
37
34
  end
@@ -0,0 +1,56 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'helper'))
2
+
3
+ context "create campaign" do
4
+ setup do
5
+ SessionHelper.kunimom.call_api CityGrid::API::Advertising::Campaign,
6
+ :mutate,
7
+ :mutateOperationListResource => [{
8
+ :operator => "ADD",
9
+ :operand => {
10
+ :name => "PleaseWork6",
11
+ :startDate => (Date.today+1).to_s.gsub("-", ""),
12
+ :endDate => (Date.today + 10).to_s.gsub("-", ""),
13
+ :product => "PERFORMANCE",
14
+ :budget => {:amount => 30000},
15
+ :mopId => 386742
16
+ }
17
+ }]
18
+ end
19
+
20
+ should("not be empty"){ !topic.empty? }
21
+ should("return code OK"){ topic.campaigns.first.response.code }.equals(200)
22
+ should("return message OK") { topic.campaigns.first.response.message }.equals("OK")
23
+
24
+ context "then create ad_group belonging to campaign" do
25
+ setup do
26
+ SessionHelper.kunimom.call_api CityGrid::API::Advertising::AdGroup,
27
+ :mutate,
28
+ "mutateOperationListResource" => [{
29
+ "operator" => "ADD",
30
+ "operand" => {
31
+ "placeId" => "10728522",
32
+ "campaignId" => topic.campaigns.first.id,
33
+ "contractTermMonths" =>"12",
34
+ "monthlyServiceFee" => "19.95",
35
+ "bids" => [{
36
+ "actionTargetName" => "map & directions",
37
+ "ppe" => "1.80"
38
+ }]
39
+ }
40
+ }]
41
+ end
42
+ should("not be empty"){ !topic.empty? }
43
+ should("have campaignId"){ !topic.adGroups.first.campaignId.nil? }
44
+
45
+ context "then search for ad_group belonging to the user" do
46
+ setup do
47
+ SessionHelper.kunimom.call_api CityGrid::API::Advertising::AdGroup,
48
+ :search,
49
+ :adGroupIds => topic.adGroups.first.id
50
+ end
51
+ should("not be empty"){ !topic.empty? }
52
+ should("have campaignId"){ !topic.adGroups.first.campaignId.nil? }
53
+ end
54
+ end
55
+
56
+ end
@@ -3,7 +3,7 @@ require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'helper')
3
3
  context "Geo" do
4
4
  setup do
5
5
  run_with_rescue do
6
- CityGrid::API::AdCenter::GeoLocation.search(
6
+ CityGrid::API::Advertising::GeoLocation.search(
7
7
  "streetAddress" => "720 3rd ave",
8
8
  "city" => "seattle",
9
9
  "state" => "wa",
@@ -5,9 +5,7 @@ context "Upload an image" do
5
5
  setup do
6
6
  run_with_rescue do
7
7
  image_path = File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'test_img.jpg'))
8
- resp = CityGrid::API::AdCenter::Image.upload(68, "a pic", "PROFILE_IMAGE", image_path, :token => AuthToken.sales_coord)
9
- ap resp
10
- resp
8
+ CityGrid::API::Advertising::Image.upload(68, "a pic", "PROFILE_IMAGE", image_path, :token => AuthToken.sales_coord)
11
9
  end
12
10
  end
13
11
  should("not be empty"){ !topic.empty? }
@@ -1,19 +1,16 @@
1
1
  require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'helper'))
2
2
 
3
- token = AuthToken.sales_coord
4
-
5
3
  context "Report summary" do
6
4
  context "daily" do
7
5
  setup do
8
6
  run_with_rescue do
9
- CityGrid::API::AdCenter::Performance.summary(
7
+ SessionHelper.sales_coord.call_api CityGrid::API::Advertising::Performance,
10
8
  :daily,
11
9
  :campaignId => 786,
12
- :period => 'last30Days',
13
- :token => token
14
- )
10
+ :period => 'last30Days'
15
11
  end
16
12
  end
13
+
17
14
  should("not be empty"){ !topic.empty? }
18
15
  should("have performance resources"){
19
16
  topic.dailyCampaignPerformanceResources.length > 0
@@ -23,14 +20,13 @@ context "Report summary" do
23
20
  context "user actions" do
24
21
  setup do
25
22
  run_with_rescue do
26
- CityGrid::API::AdCenter::Performance.summary(
23
+ SessionHelper.sales_coord.call_api CityGrid::API::Advertising::Performance,
27
24
  :actions,
28
25
  :campaignId => 786,
29
- :period => 'last30Days',
30
- :token => token
31
- )
26
+ :period => 'last30Days'
32
27
  end
33
28
  end
29
+
34
30
  should("not be empty"){ !topic.empty? }
35
31
  should("have user actions"){ topic.userActions.length > 0 }
36
32
  end
@@ -0,0 +1,109 @@
1
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'helper'))
2
+
3
+ context "Adding a place" do
4
+ setup do
5
+ run_with_rescue do
6
+ SessionHelper.gary_test.call_api CityGrid::API::Advertising::Places,
7
+ :mutate,
8
+ "mutateOperationListResource" => [{
9
+ "operator" => "ADD",
10
+ "operand" => {
11
+ "name" => "Pi on sunset in LAAAAAAAAAAAAAA",
12
+ "address_1" => "Jackson 2102",
13
+ "address_2" => "",
14
+ "city" => "Los Angeles",
15
+ "state" => "California",
16
+ "postal_code" => 90025,
17
+ "phone_number" => 3103333333,
18
+ "website_url" => "pi.com",
19
+ "primary_tag_id" => "3623",
20
+ "bullet1" => "Knoll bullet 1",
21
+ "tagline" => "my tagline",
22
+ "primary_tag_id" => 3623,
23
+ "secondary_tags" => '1776'
24
+ }
25
+ }]
26
+ end
27
+ end
28
+
29
+ should("not be empty") { !topic.empty? }
30
+ should("return code OK") { topic.resources.first.response.code }.equals(200)
31
+ should("return message OK") { topic.resources.first.response.message }.equals("OK")
32
+ end
33
+
34
+ #
35
+ # context "Adding a place" do
36
+ # setup do
37
+ # run_with_rescue do
38
+ # CityGrid::API::Advertising::Places.search(
39
+ # :token => AuthToken.dou,
40
+ # "placeId" => 11489139
41
+ # )
42
+ # end
43
+ # end
44
+ #
45
+ # should("not be empty") { !topic.empty? }
46
+ # should("return code OK") { topic.response.code }.equals(200)
47
+ # should("return message OK") { topic.response.message }.equals("OK")
48
+ # end
49
+ #
50
+ # context "Adding a place by Adcenter API" do
51
+ # setup do
52
+ # run_with_rescue do
53
+ # CityGrid::API::Advertising::Places.mutate(
54
+ # :token => AuthToken.dou,
55
+ # "mutateOperationListResource" => [{
56
+ # "operator" => "ADD",
57
+ # "operand" => {
58
+ # "name" => "Pi on sunset in LAAAAAAAAAAAAAA",
59
+ # "address_1" => "Jackson 2102",
60
+ # "address_2" => "",
61
+ # "city" => "Los Angeles",
62
+ # "state" => "California",
63
+ # "postal_code" => 90025,
64
+ # "phone_number" => 3103333333,
65
+ # "website_url" => "pi.com",
66
+ # "primary_tag_id" => "3623",
67
+ # "bullet1" => "Knoll bullet 1",
68
+ # "tagline" => "my tagline",
69
+ # "primary_tag_id" => 3623,
70
+ # "secondary_tags" => '1776'}
71
+ # }]
72
+ # )
73
+ # end
74
+ # end
75
+ # should("not be empty") { !topic.empty? }
76
+ # should("return code OK") { topic.resources.first.response.code }.equals(200)
77
+ # should("return message OK") { topic.resources.first.response.message.upcase }.equals("OK")
78
+ # end
79
+ #
80
+ # context "Update a place by Adcenter API" do
81
+ # setup do
82
+ # run_with_rescue do
83
+ # CityGrid::API::Advertising::Places.mutate(
84
+ # :token => AuthToken.dou,
85
+ # "mutateOperationListResource" => [{
86
+ # "operator" => "SET",
87
+ # "operand" => {
88
+ # "name" => "Pi on sunset in LAAAAAAAAAAAAAA",
89
+ # "address_1" => "Jackson 2102",
90
+ # "address_2" => "",
91
+ # "city" => "Los Angeles",
92
+ # "state" => "California",
93
+ # "postal_code" => 90025,
94
+ # "phone_number" => 3103333333,
95
+ # "website_url" => "pi.com",
96
+ # "primary_tag_id" => "3623",
97
+ # "bullet1" => "Knoll bullet 1",
98
+ # "tagline" => "my tagline",
99
+ # "primary_tag_id" => 3623,
100
+ # "secondary_tags" => '1776',
101
+ # "listing_id" => 755498442}
102
+ # }]
103
+ # )
104
+ # end
105
+ # end
106
+ # should("not be empty"){ !topic.empty? }
107
+ # should("return code OK"){ topic.resources.first.response.code }.equals(200)
108
+ # should("return message OK") { topic.resources.first.response.message }.equals("OK")
109
+ # end
@@ -1,6 +1,6 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), 'helper'))
1
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'helper'))
2
2
 
3
- c = context "Initiating a Details" do
3
+ context "Initiating a Details" do
4
4
  setup do
5
5
  begin
6
6
  run_with_rescue do
@@ -14,7 +14,6 @@ c = context "Initiating a Details" do
14
14
  should "return a single Details object" do
15
15
  topic.is_a? CityGrid::Details
16
16
  end
17
-
18
17
  end
19
18
 
20
19
  context "Initiating new MultiDetails" do
@@ -1,4 +1,4 @@
1
- require File.expand_path(File.join(File.dirname(__FILE__), 'helper'))
1
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', 'helper'))
2
2
 
3
3
  context "searching for a CityGrid listing" do
4
4
  setup do
@@ -22,7 +22,7 @@ end
22
22
 
23
23
  context "searching for a special CityGrid listing" do
24
24
  setup do
25
- CityGrid.search :what => "Divine Dynasty Cleaners", :where => "84129"
25
+ CityGrid.search :what => "el gaucho", :where => "seattle, wa"
26
26
  end
27
27
 
28
28
  should "create an array" do