constantcontact 1.1.2 → 1.2.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.
- data/README.md +2 -2
- data/constantcontact.gemspec +1 -1
- data/lib/constantcontact.rb +15 -2
- data/lib/constantcontact/api.rb +164 -21
- data/lib/constantcontact/components/event_spot/contact.rb +5 -5
- data/lib/constantcontact/components/event_spot/event.rb +28 -22
- data/lib/constantcontact/components/event_spot/event_address.rb +29 -0
- data/lib/constantcontact/components/event_spot/{fee.rb → event_fee.rb} +7 -7
- data/lib/constantcontact/components/event_spot/event_item.rb +36 -0
- data/lib/constantcontact/components/event_spot/event_item_attribute.rb +26 -0
- data/lib/constantcontact/components/event_spot/event_track.rb +6 -3
- data/lib/constantcontact/components/event_spot/guest.rb +6 -6
- data/lib/constantcontact/components/event_spot/guest_section.rb +34 -0
- data/lib/constantcontact/components/event_spot/notification_option.rb +2 -2
- data/lib/constantcontact/components/event_spot/online_meeting.rb +28 -0
- data/lib/constantcontact/components/event_spot/payment_address.rb +29 -0
- data/lib/constantcontact/components/event_spot/payment_summary.rb +33 -0
- data/lib/constantcontact/components/event_spot/promocode.rb +25 -0
- data/lib/constantcontact/components/event_spot/registrant.rb +19 -21
- data/lib/constantcontact/components/event_spot/registrant_fee.rb +29 -0
- data/lib/constantcontact/components/event_spot/registrant_order.rb +39 -0
- data/lib/constantcontact/components/event_spot/registrant_promo_code.rb +31 -0
- data/lib/constantcontact/components/event_spot/registrant_promo_code_info.rb +27 -0
- data/lib/constantcontact/components/event_spot/registrant_section.rb +6 -6
- data/lib/constantcontact/components/event_spot/sale_item.rb +15 -13
- data/lib/constantcontact/services/event_spot_service.rb +252 -29
- data/lib/constantcontact/util/config.rb +12 -6
- data/lib/constantcontact/version.rb +1 -1
- data/spec/constantcontact/api_spec.rb +221 -21
- data/spec/constantcontact/services/event_spot_spec.rb +223 -21
- metadata +118 -76
- checksums.yaml +0 -7
- data/lib/constantcontact/components/event_spot/promo_code.rb +0 -26
@@ -46,12 +46,18 @@ module ConstantContact
|
|
46
46
|
:campaign_tracking_unsubscribes => 'emailmarketing/campaigns/%s/tracking/unsubscribes',
|
47
47
|
:campaign_tracking_link => 'emailmarketing/campaigns/%s/tracking/clicks/%s',
|
48
48
|
|
49
|
-
:events
|
50
|
-
:event
|
51
|
-
:event_fees
|
52
|
-
:event_fee
|
53
|
-
:event_registrants
|
54
|
-
:event_registrant
|
49
|
+
:events => 'eventspot/events',
|
50
|
+
:event => 'eventspot/events/%s',
|
51
|
+
:event_fees => 'eventspot/events/%s/fees',
|
52
|
+
:event_fee => 'eventspot/events/%s/fees/%s',
|
53
|
+
:event_registrants => 'eventspot/events/%s/registrants',
|
54
|
+
:event_registrant => 'eventspot/events/%s/registrants/%s',
|
55
|
+
:event_items => 'eventspot/events/%s/items',
|
56
|
+
:event_item => 'eventspot/events/%s/items/%s',
|
57
|
+
:event_item_attributes => 'eventspot/events/%s/items/%s/attributes',
|
58
|
+
:event_item_attribute => 'eventspot/events/%s/items/%s/attributes/%s',
|
59
|
+
:event_promocodes => 'eventspot/events/%s/promocodes',
|
60
|
+
:event_promocode => 'eventspot/events/%s/promocodes/%s',
|
55
61
|
|
56
62
|
:contact_tracking_summary => 'contacts/%s/tracking/reports/summary',
|
57
63
|
:contact_tracking_bounces => 'contacts/%s/tracking/bounces',
|
@@ -311,19 +311,6 @@ describe ConstantContact::Api do
|
|
311
311
|
end
|
312
312
|
end
|
313
313
|
|
314
|
-
describe "#delete_event" do
|
315
|
-
it "deletes an event" do
|
316
|
-
json = load_file('event.json')
|
317
|
-
|
318
|
-
net_http_resp = Net::HTTPResponse.new(1.0, 204, 'No Content')
|
319
|
-
response = RestClient::Response.create('', net_http_resp, {})
|
320
|
-
RestClient.stub(:delete).and_return(response)
|
321
|
-
|
322
|
-
event = ConstantContact::Components::Event.create(JSON.parse(json))
|
323
|
-
@api.delete_event('token', event).should be_true
|
324
|
-
end
|
325
|
-
end
|
326
|
-
|
327
314
|
describe "#publish_event" do
|
328
315
|
it "updates an event with status of ACTIVE" do
|
329
316
|
json = load_file('event.json')
|
@@ -374,7 +361,7 @@ describe ConstantContact::Api do
|
|
374
361
|
#fees.results.collect{|f| f.should be_kind_of(ConstantContact::Components::Fee) }
|
375
362
|
|
376
363
|
fees.should be_kind_of(Array) # inconsistent with oether APIs.
|
377
|
-
fees.collect{|f| f.should be_kind_of(ConstantContact::Components::
|
364
|
+
fees.collect{|f| f.should be_kind_of(ConstantContact::Components::EventFee) }
|
378
365
|
end
|
379
366
|
end
|
380
367
|
|
@@ -388,9 +375,9 @@ describe ConstantContact::Api do
|
|
388
375
|
RestClient.stub(:get).and_return(response)
|
389
376
|
|
390
377
|
event = ConstantContact::Components::Event.create(JSON.parse(event_json))
|
391
|
-
fee = ConstantContact::Components::
|
378
|
+
fee = ConstantContact::Components::EventFee.create(JSON.parse(fee_json))
|
392
379
|
retrieved = @api.get_event_fee('token', event, fee)
|
393
|
-
retrieved.should be_kind_of(ConstantContact::Components::
|
380
|
+
retrieved.should be_kind_of(ConstantContact::Components::EventFee)
|
394
381
|
end
|
395
382
|
end
|
396
383
|
|
@@ -404,9 +391,9 @@ describe ConstantContact::Api do
|
|
404
391
|
RestClient.stub(:post).and_return(response)
|
405
392
|
|
406
393
|
event = ConstantContact::Components::Event.create(JSON.parse(event_json))
|
407
|
-
fee = ConstantContact::Components::
|
394
|
+
fee = ConstantContact::Components::EventFee.create(JSON.parse(fee_json))
|
408
395
|
added = @api.add_event_fee('token', event, fee)
|
409
|
-
added.should be_kind_of(ConstantContact::Components::
|
396
|
+
added.should be_kind_of(ConstantContact::Components::EventFee)
|
410
397
|
added.id.should_not be_empty
|
411
398
|
end
|
412
399
|
end
|
@@ -423,9 +410,9 @@ describe ConstantContact::Api do
|
|
423
410
|
RestClient.stub(:put).and_return(response)
|
424
411
|
|
425
412
|
event = ConstantContact::Components::Event.create(JSON.parse(event_json))
|
426
|
-
fee = ConstantContact::Components::
|
413
|
+
fee = ConstantContact::Components::EventFee.create(JSON.parse(fee_json))
|
427
414
|
updated = @api.update_event_fee('token', event, fee)
|
428
|
-
updated.should be_kind_of(ConstantContact::Components::
|
415
|
+
updated.should be_kind_of(ConstantContact::Components::EventFee)
|
429
416
|
updated.fee.should_not eq(fee.fee)
|
430
417
|
updated.fee.should eq(fee.fee + 1)
|
431
418
|
end
|
@@ -441,7 +428,7 @@ describe ConstantContact::Api do
|
|
441
428
|
RestClient.stub(:delete).and_return(response)
|
442
429
|
|
443
430
|
event = ConstantContact::Components::Event.create(JSON.parse(event_json))
|
444
|
-
fee = ConstantContact::Components::
|
431
|
+
fee = ConstantContact::Components::EventFee.create(JSON.parse(fee_json))
|
445
432
|
@api.delete_event_fee('token', event, fee).should be_true
|
446
433
|
end
|
447
434
|
end
|
@@ -479,6 +466,219 @@ describe ConstantContact::Api do
|
|
479
466
|
end
|
480
467
|
end
|
481
468
|
|
469
|
+
describe "#get_event_items" do
|
470
|
+
it "returns an array of event items" do
|
471
|
+
json_response = load_file('event_items_response.json')
|
472
|
+
net_http_resp = Net::HTTPResponse.new(1.0, 200, 'OK')
|
473
|
+
|
474
|
+
response = RestClient::Response.create(json_response, net_http_resp, {})
|
475
|
+
RestClient.stub(:get).and_return(response)
|
476
|
+
|
477
|
+
results = @api.get_event_items('token', 1)
|
478
|
+
results.should be_kind_of(Array)
|
479
|
+
results.first.should be_kind_of(ConstantContact::Components::EventItem)
|
480
|
+
results.first.name.should eq('Running Belt')
|
481
|
+
end
|
482
|
+
end
|
483
|
+
|
484
|
+
describe "#get_event_item" do
|
485
|
+
it "returns an event item" do
|
486
|
+
json = load_file('event_item_response.json')
|
487
|
+
net_http_resp = Net::HTTPResponse.new(1.0, 200, 'OK')
|
488
|
+
|
489
|
+
response = RestClient::Response.create(json, net_http_resp, {})
|
490
|
+
RestClient.stub(:get).and_return(response)
|
491
|
+
|
492
|
+
result = @api.get_event_item('token', 1, 1)
|
493
|
+
result.should be_kind_of(ConstantContact::Components::EventItem)
|
494
|
+
result.name.should eq('Running Belt')
|
495
|
+
end
|
496
|
+
end
|
497
|
+
|
498
|
+
describe "#add_event_item" do
|
499
|
+
it "adds an event item" do
|
500
|
+
json = load_file('event_item_response.json')
|
501
|
+
net_http_resp = Net::HTTPResponse.new(1.0, 200, 'OK')
|
502
|
+
|
503
|
+
response = RestClient::Response.create(json, net_http_resp, {})
|
504
|
+
RestClient.stub(:post).and_return(response)
|
505
|
+
event_item = ConstantContact::Components::EventItem.create(JSON.parse(json))
|
506
|
+
|
507
|
+
result = @api.add_event_item('token', 1, event_item)
|
508
|
+
result.should be_kind_of(ConstantContact::Components::EventItem)
|
509
|
+
result.name.should eq('Running Belt')
|
510
|
+
end
|
511
|
+
end
|
512
|
+
|
513
|
+
describe "#delete_event_item" do
|
514
|
+
it "deletes an event item" do
|
515
|
+
net_http_resp = Net::HTTPResponse.new(1.0, 204, 'No Content')
|
516
|
+
|
517
|
+
response = RestClient::Response.create('', net_http_resp, {})
|
518
|
+
RestClient.stub(:delete).and_return(response)
|
519
|
+
|
520
|
+
result = @api.delete_event_item('token', 1, 1)
|
521
|
+
result.should be_true
|
522
|
+
end
|
523
|
+
end
|
524
|
+
|
525
|
+
describe "#update_event_item" do
|
526
|
+
it "updates an event item" do
|
527
|
+
json = load_file('event_item_response.json')
|
528
|
+
net_http_resp = Net::HTTPResponse.new(1.0, 200, 'OK')
|
529
|
+
|
530
|
+
response = RestClient::Response.create(json, net_http_resp, {})
|
531
|
+
RestClient.stub(:put).and_return(response)
|
532
|
+
event_item = ConstantContact::Components::EventItem.create(JSON.parse(json))
|
533
|
+
|
534
|
+
result = @api.update_event_item('token', 1, event_item)
|
535
|
+
result.should be_kind_of(ConstantContact::Components::EventItem)
|
536
|
+
result.name.should eq('Running Belt')
|
537
|
+
end
|
538
|
+
end
|
539
|
+
|
540
|
+
describe "#get_event_item_attributes" do
|
541
|
+
it "returns an array of event item attributes" do
|
542
|
+
json_response = load_file('event_item_attributes_response.json')
|
543
|
+
net_http_resp = Net::HTTPResponse.new(1.0, 200, 'OK')
|
544
|
+
|
545
|
+
response = RestClient::Response.create(json_response, net_http_resp, {})
|
546
|
+
RestClient.stub(:get).and_return(response)
|
547
|
+
|
548
|
+
results = @api.get_event_item_attributes('token', 1, 1)
|
549
|
+
results.should be_kind_of(Array)
|
550
|
+
results.first.should be_kind_of(ConstantContact::Components::EventItemAttribute)
|
551
|
+
results.first.name.should eq('Royal Blue')
|
552
|
+
end
|
553
|
+
end
|
554
|
+
|
555
|
+
describe "#get_event_item_attribute" do
|
556
|
+
it "returns an event item attribute" do
|
557
|
+
json = load_file('event_item_attribute_response.json')
|
558
|
+
net_http_resp = Net::HTTPResponse.new(1.0, 200, 'OK')
|
559
|
+
|
560
|
+
response = RestClient::Response.create(json, net_http_resp, {})
|
561
|
+
RestClient.stub(:get).and_return(response)
|
562
|
+
|
563
|
+
result = @api.get_event_item_attribute('token', 1, 1, 1)
|
564
|
+
result.should be_kind_of(ConstantContact::Components::EventItemAttribute)
|
565
|
+
result.name.should eq('Hi-Vis Green')
|
566
|
+
end
|
567
|
+
end
|
568
|
+
|
569
|
+
describe "#add_event_item_attribute" do
|
570
|
+
it "adds an event item attribute" do
|
571
|
+
json = load_file('event_item_attribute_response.json')
|
572
|
+
net_http_resp = Net::HTTPResponse.new(1.0, 200, 'OK')
|
573
|
+
|
574
|
+
response = RestClient::Response.create(json, net_http_resp, {})
|
575
|
+
RestClient.stub(:post).and_return(response)
|
576
|
+
event_item_attribute = ConstantContact::Components::EventItemAttribute.create(JSON.parse(json))
|
577
|
+
|
578
|
+
result = @api.add_event_item_attribute('token', 1, 1, event_item_attribute)
|
579
|
+
result.should be_kind_of(ConstantContact::Components::EventItemAttribute)
|
580
|
+
result.name.should eq('Hi-Vis Green')
|
581
|
+
end
|
582
|
+
end
|
583
|
+
|
584
|
+
describe "#delete_event_item_attribute" do
|
585
|
+
it "deletes an event item attribute" do
|
586
|
+
net_http_resp = Net::HTTPResponse.new(1.0, 204, 'No Content')
|
587
|
+
|
588
|
+
response = RestClient::Response.create('', net_http_resp, {})
|
589
|
+
RestClient.stub(:delete).and_return(response)
|
590
|
+
|
591
|
+
result = @api.delete_event_item_attribute('token', 1, 1, 1)
|
592
|
+
result.should be_true
|
593
|
+
end
|
594
|
+
end
|
595
|
+
|
596
|
+
describe "#update_event_item_attribute" do
|
597
|
+
it "updates an event item attribute" do
|
598
|
+
json = load_file('event_item_attribute_response.json')
|
599
|
+
net_http_resp = Net::HTTPResponse.new(1.0, 200, 'OK')
|
600
|
+
|
601
|
+
response = RestClient::Response.create(json, net_http_resp, {})
|
602
|
+
RestClient.stub(:put).and_return(response)
|
603
|
+
event_item_attribute = ConstantContact::Components::EventItemAttribute.create(JSON.parse(json))
|
604
|
+
|
605
|
+
result = @api.update_event_item_attribute('token', 1, 1, event_item_attribute)
|
606
|
+
result.should be_kind_of(ConstantContact::Components::EventItemAttribute)
|
607
|
+
result.name.should eq('Hi-Vis Green')
|
608
|
+
end
|
609
|
+
end
|
610
|
+
|
611
|
+
describe "#get_promocodes" do
|
612
|
+
it "returns an array of promocodes" do
|
613
|
+
json_response = load_file('promocodes_response.json')
|
614
|
+
net_http_resp = Net::HTTPResponse.new(1.0, 200, 'OK')
|
615
|
+
|
616
|
+
response = RestClient::Response.create(json_response, net_http_resp, {})
|
617
|
+
RestClient.stub(:get).and_return(response)
|
618
|
+
|
619
|
+
results = @api.get_promocodes('token', 1)
|
620
|
+
results.should be_kind_of(Array)
|
621
|
+
results.first.should be_kind_of(ConstantContact::Components::Promocode)
|
622
|
+
results.first.code_name.should eq('REDUCED_FEE')
|
623
|
+
end
|
624
|
+
end
|
625
|
+
|
626
|
+
describe "#get_promocode" do
|
627
|
+
it "returns a promocode" do
|
628
|
+
json = load_file('promocode_response.json')
|
629
|
+
net_http_resp = Net::HTTPResponse.new(1.0, 200, 'OK')
|
630
|
+
|
631
|
+
response = RestClient::Response.create(json, net_http_resp, {})
|
632
|
+
RestClient.stub(:get).and_return(response)
|
633
|
+
|
634
|
+
result = @api.get_promocode('token', 1, 1)
|
635
|
+
result.should be_kind_of(ConstantContact::Components::Promocode)
|
636
|
+
result.code_name.should eq('TOTAL_FEE')
|
637
|
+
end
|
638
|
+
end
|
639
|
+
|
640
|
+
describe "#add_promocode" do
|
641
|
+
it "adds a promocode" do
|
642
|
+
json = load_file('promocode_response.json')
|
643
|
+
net_http_resp = Net::HTTPResponse.new(1.0, 200, 'OK')
|
644
|
+
|
645
|
+
response = RestClient::Response.create(json, net_http_resp, {})
|
646
|
+
RestClient.stub(:post).and_return(response)
|
647
|
+
promocode = ConstantContact::Components::Promocode.create(JSON.parse(json))
|
648
|
+
|
649
|
+
result = @api.add_promocode('token', 1, promocode)
|
650
|
+
result.should be_kind_of(ConstantContact::Components::Promocode)
|
651
|
+
result.code_name.should eq('TOTAL_FEE')
|
652
|
+
end
|
653
|
+
end
|
654
|
+
|
655
|
+
describe "#delete_promocode" do
|
656
|
+
it "deletes a promocode" do
|
657
|
+
net_http_resp = Net::HTTPResponse.new(1.0, 204, 'No Content')
|
658
|
+
|
659
|
+
response = RestClient::Response.create('', net_http_resp, {})
|
660
|
+
RestClient.stub(:delete).and_return(response)
|
661
|
+
|
662
|
+
result = @api.delete_promocode('token', 1, 1)
|
663
|
+
result.should be_true
|
664
|
+
end
|
665
|
+
end
|
666
|
+
|
667
|
+
describe "#update_promocode" do
|
668
|
+
it "updates an event item" do
|
669
|
+
json = load_file('promocode_response.json')
|
670
|
+
net_http_resp = Net::HTTPResponse.new(1.0, 200, 'OK')
|
671
|
+
|
672
|
+
response = RestClient::Response.create(json, net_http_resp, {})
|
673
|
+
RestClient.stub(:put).and_return(response)
|
674
|
+
promocode = ConstantContact::Components::Promocode.create(JSON.parse(json))
|
675
|
+
|
676
|
+
result = @api.update_promocode('token', 1, promocode)
|
677
|
+
result.should be_kind_of(ConstantContact::Components::Promocode)
|
678
|
+
result.code_name.should eq('TOTAL_FEE')
|
679
|
+
end
|
680
|
+
end
|
681
|
+
|
482
682
|
describe "#get_email_campaigns" do
|
483
683
|
it "gets a set of campaigns" do
|
484
684
|
json_response = load_file('email_campaigns_response.json')
|
@@ -8,7 +8,7 @@ require 'spec_helper'
|
|
8
8
|
|
9
9
|
describe ConstantContact::Services::EventSpotService do
|
10
10
|
describe "#get_events" do
|
11
|
-
it "returns
|
11
|
+
it "returns a set of events" do
|
12
12
|
json = load_file('events.json')
|
13
13
|
net_http_resp = Net::HTTPResponse.new(1.0, 200, 'OK')
|
14
14
|
|
@@ -48,18 +48,6 @@ describe ConstantContact::Services::EventSpotService do
|
|
48
48
|
end
|
49
49
|
end
|
50
50
|
|
51
|
-
describe "#delete_event" do
|
52
|
-
it "deletes an event" do
|
53
|
-
json = load_file('event.json')
|
54
|
-
net_http_resp = Net::HTTPResponse.new(1.0, 204, 'No Content')
|
55
|
-
|
56
|
-
response = RestClient::Response.create('', net_http_resp, {})
|
57
|
-
RestClient.stub(:delete).and_return(response)
|
58
|
-
event = ConstantContact::Components::Event.create(JSON.parse(json))
|
59
|
-
ConstantContact::Services::EventSpotService.delete_event('token', event).should be_true
|
60
|
-
end
|
61
|
-
end
|
62
|
-
|
63
51
|
describe "#publish_event" do
|
64
52
|
it "updates an event with status of ACTIVE" do
|
65
53
|
json = load_file('event.json')
|
@@ -110,7 +98,7 @@ describe ConstantContact::Services::EventSpotService do
|
|
110
98
|
#fees.results.collect{|f| f.should be_kind_of(ConstantContact::Components::Fee) }
|
111
99
|
|
112
100
|
fees.should be_kind_of(Array) # inconsistent with oether APIs.
|
113
|
-
fees.collect{|f| f.should be_kind_of(ConstantContact::Components::
|
101
|
+
fees.collect{|f| f.should be_kind_of(ConstantContact::Components::EventFee) }
|
114
102
|
end
|
115
103
|
end
|
116
104
|
|
@@ -124,9 +112,9 @@ describe ConstantContact::Services::EventSpotService do
|
|
124
112
|
RestClient.stub(:get).and_return(response)
|
125
113
|
|
126
114
|
event = ConstantContact::Components::Event.create(JSON.parse(event_json))
|
127
|
-
fee = ConstantContact::Components::
|
115
|
+
fee = ConstantContact::Components::EventFee.create(JSON.parse(fee_json))
|
128
116
|
retrieved = ConstantContact::Services::EventSpotService.get_fee('token', event, fee)
|
129
|
-
retrieved.should be_kind_of(ConstantContact::Components::
|
117
|
+
retrieved.should be_kind_of(ConstantContact::Components::EventFee)
|
130
118
|
end
|
131
119
|
end
|
132
120
|
|
@@ -140,9 +128,9 @@ describe ConstantContact::Services::EventSpotService do
|
|
140
128
|
RestClient.stub(:post).and_return(response)
|
141
129
|
|
142
130
|
event = ConstantContact::Components::Event.create(JSON.parse(event_json))
|
143
|
-
fee = ConstantContact::Components::
|
131
|
+
fee = ConstantContact::Components::EventFee.create(JSON.parse(fee_json))
|
144
132
|
added = ConstantContact::Services::EventSpotService.add_fee('token', event, fee)
|
145
|
-
added.should be_kind_of(ConstantContact::Components::
|
133
|
+
added.should be_kind_of(ConstantContact::Components::EventFee)
|
146
134
|
added.id.should_not be_empty
|
147
135
|
end
|
148
136
|
end
|
@@ -159,9 +147,9 @@ describe ConstantContact::Services::EventSpotService do
|
|
159
147
|
RestClient.stub(:put).and_return(response)
|
160
148
|
|
161
149
|
event = ConstantContact::Components::Event.create(JSON.parse(event_json))
|
162
|
-
fee = ConstantContact::Components::
|
150
|
+
fee = ConstantContact::Components::EventFee.create(JSON.parse(fee_json))
|
163
151
|
updated = ConstantContact::Services::EventSpotService.update_fee('token', event, fee)
|
164
|
-
updated.should be_kind_of(ConstantContact::Components::
|
152
|
+
updated.should be_kind_of(ConstantContact::Components::EventFee)
|
165
153
|
updated.fee.should_not eq(fee.fee)
|
166
154
|
updated.fee.should eq(fee.fee + 1)
|
167
155
|
end
|
@@ -177,7 +165,7 @@ describe ConstantContact::Services::EventSpotService do
|
|
177
165
|
RestClient.stub(:delete).and_return(response)
|
178
166
|
|
179
167
|
event = ConstantContact::Components::Event.create(JSON.parse(event_json))
|
180
|
-
fee = ConstantContact::Components::
|
168
|
+
fee = ConstantContact::Components::EventFee.create(JSON.parse(fee_json))
|
181
169
|
ConstantContact::Services::EventSpotService.delete_fee('token', event, fee).should be_true
|
182
170
|
end
|
183
171
|
end
|
@@ -214,4 +202,218 @@ describe ConstantContact::Services::EventSpotService do
|
|
214
202
|
retrieved.id.should_not be_empty
|
215
203
|
end
|
216
204
|
end
|
205
|
+
|
206
|
+
describe "#get_event_items" do
|
207
|
+
it "returns an array of event items" do
|
208
|
+
json_response = load_file('event_items_response.json')
|
209
|
+
net_http_resp = Net::HTTPResponse.new(1.0, 200, 'OK')
|
210
|
+
|
211
|
+
response = RestClient::Response.create(json_response, net_http_resp, {})
|
212
|
+
RestClient.stub(:get).and_return(response)
|
213
|
+
|
214
|
+
results = ConstantContact::Services::EventSpotService.get_event_items('token', 1)
|
215
|
+
results.should be_kind_of(Array)
|
216
|
+
results.first.should be_kind_of(ConstantContact::Components::EventItem)
|
217
|
+
results.first.name.should eq('Running Belt')
|
218
|
+
end
|
219
|
+
end
|
220
|
+
|
221
|
+
describe "#get_event_item" do
|
222
|
+
it "returns an event item" do
|
223
|
+
json = load_file('event_item_response.json')
|
224
|
+
net_http_resp = Net::HTTPResponse.new(1.0, 200, 'OK')
|
225
|
+
|
226
|
+
response = RestClient::Response.create(json, net_http_resp, {})
|
227
|
+
RestClient.stub(:get).and_return(response)
|
228
|
+
|
229
|
+
result = ConstantContact::Services::EventSpotService.get_event_item('token', 1, 1)
|
230
|
+
result.should be_kind_of(ConstantContact::Components::EventItem)
|
231
|
+
result.name.should eq('Running Belt')
|
232
|
+
end
|
233
|
+
end
|
234
|
+
|
235
|
+
describe "#add_event_item" do
|
236
|
+
it "adds an event item" do
|
237
|
+
json = load_file('event_item_response.json')
|
238
|
+
net_http_resp = Net::HTTPResponse.new(1.0, 200, 'OK')
|
239
|
+
|
240
|
+
response = RestClient::Response.create(json, net_http_resp, {})
|
241
|
+
RestClient.stub(:post).and_return(response)
|
242
|
+
event_item = ConstantContact::Components::EventItem.create(JSON.parse(json))
|
243
|
+
|
244
|
+
result = ConstantContact::Services::EventSpotService.add_event_item('token', 1, event_item)
|
245
|
+
result.should be_kind_of(ConstantContact::Components::EventItem)
|
246
|
+
result.name.should eq('Running Belt')
|
247
|
+
end
|
248
|
+
end
|
249
|
+
|
250
|
+
describe "#delete_event_item" do
|
251
|
+
it "deletes an event item" do
|
252
|
+
net_http_resp = Net::HTTPResponse.new(1.0, 204, 'No Content')
|
253
|
+
|
254
|
+
response = RestClient::Response.create('', net_http_resp, {})
|
255
|
+
RestClient.stub(:delete).and_return(response)
|
256
|
+
|
257
|
+
result = ConstantContact::Services::EventSpotService.delete_event_item('token', 1, 1)
|
258
|
+
result.should be_true
|
259
|
+
end
|
260
|
+
end
|
261
|
+
|
262
|
+
describe "#update_event_item" do
|
263
|
+
it "updates an event item" do
|
264
|
+
json = load_file('event_item_response.json')
|
265
|
+
net_http_resp = Net::HTTPResponse.new(1.0, 200, 'OK')
|
266
|
+
|
267
|
+
response = RestClient::Response.create(json, net_http_resp, {})
|
268
|
+
RestClient.stub(:put).and_return(response)
|
269
|
+
event_item = ConstantContact::Components::EventItem.create(JSON.parse(json))
|
270
|
+
|
271
|
+
result = ConstantContact::Services::EventSpotService.update_event_item('token', 1, event_item)
|
272
|
+
result.should be_kind_of(ConstantContact::Components::EventItem)
|
273
|
+
result.name.should eq('Running Belt')
|
274
|
+
end
|
275
|
+
end
|
276
|
+
|
277
|
+
describe "#get_event_item_attributes" do
|
278
|
+
it "returns an array of event item attributes" do
|
279
|
+
json_response = load_file('event_item_attributes_response.json')
|
280
|
+
net_http_resp = Net::HTTPResponse.new(1.0, 200, 'OK')
|
281
|
+
|
282
|
+
response = RestClient::Response.create(json_response, net_http_resp, {})
|
283
|
+
RestClient.stub(:get).and_return(response)
|
284
|
+
|
285
|
+
results = ConstantContact::Services::EventSpotService.get_event_item_attributes('token', 1, 1)
|
286
|
+
results.should be_kind_of(Array)
|
287
|
+
results.first.should be_kind_of(ConstantContact::Components::EventItemAttribute)
|
288
|
+
results.first.name.should eq('Royal Blue')
|
289
|
+
end
|
290
|
+
end
|
291
|
+
|
292
|
+
describe "#get_event_item_attribute" do
|
293
|
+
it "returns an event item attribute" do
|
294
|
+
json = load_file('event_item_attribute_response.json')
|
295
|
+
net_http_resp = Net::HTTPResponse.new(1.0, 200, 'OK')
|
296
|
+
|
297
|
+
response = RestClient::Response.create(json, net_http_resp, {})
|
298
|
+
RestClient.stub(:get).and_return(response)
|
299
|
+
|
300
|
+
result = ConstantContact::Services::EventSpotService.get_event_item_attribute('token', 1, 1, 1)
|
301
|
+
result.should be_kind_of(ConstantContact::Components::EventItemAttribute)
|
302
|
+
result.name.should eq('Hi-Vis Green')
|
303
|
+
end
|
304
|
+
end
|
305
|
+
|
306
|
+
describe "#add_event_item_attribute" do
|
307
|
+
it "adds an event item attribute" do
|
308
|
+
json = load_file('event_item_attribute_response.json')
|
309
|
+
net_http_resp = Net::HTTPResponse.new(1.0, 200, 'OK')
|
310
|
+
|
311
|
+
response = RestClient::Response.create(json, net_http_resp, {})
|
312
|
+
RestClient.stub(:post).and_return(response)
|
313
|
+
event_item_attribute = ConstantContact::Components::EventItemAttribute.create(JSON.parse(json))
|
314
|
+
|
315
|
+
result = ConstantContact::Services::EventSpotService.add_event_item_attribute('token', 1, 1, event_item_attribute)
|
316
|
+
result.should be_kind_of(ConstantContact::Components::EventItemAttribute)
|
317
|
+
result.name.should eq('Hi-Vis Green')
|
318
|
+
end
|
319
|
+
end
|
320
|
+
|
321
|
+
describe "#delete_event_item_attribute" do
|
322
|
+
it "deletes an event item attribute" do
|
323
|
+
net_http_resp = Net::HTTPResponse.new(1.0, 204, 'No Content')
|
324
|
+
|
325
|
+
response = RestClient::Response.create('', net_http_resp, {})
|
326
|
+
RestClient.stub(:delete).and_return(response)
|
327
|
+
|
328
|
+
result = ConstantContact::Services::EventSpotService.delete_event_item_attribute('token', 1, 1, 1)
|
329
|
+
result.should be_true
|
330
|
+
end
|
331
|
+
end
|
332
|
+
|
333
|
+
describe "#update_event_item_attribute" do
|
334
|
+
it "updates an event item attribute" do
|
335
|
+
json = load_file('event_item_attribute_response.json')
|
336
|
+
net_http_resp = Net::HTTPResponse.new(1.0, 200, 'OK')
|
337
|
+
|
338
|
+
response = RestClient::Response.create(json, net_http_resp, {})
|
339
|
+
RestClient.stub(:put).and_return(response)
|
340
|
+
event_item_attribute = ConstantContact::Components::EventItemAttribute.create(JSON.parse(json))
|
341
|
+
|
342
|
+
result = ConstantContact::Services::EventSpotService.update_event_item_attribute('token', 1, 1, event_item_attribute)
|
343
|
+
result.should be_kind_of(ConstantContact::Components::EventItemAttribute)
|
344
|
+
result.name.should eq('Hi-Vis Green')
|
345
|
+
end
|
346
|
+
end
|
347
|
+
|
348
|
+
describe "#get_promocodes" do
|
349
|
+
it "returns an array of promocodes" do
|
350
|
+
json_response = load_file('promocodes_response.json')
|
351
|
+
net_http_resp = Net::HTTPResponse.new(1.0, 200, 'OK')
|
352
|
+
|
353
|
+
response = RestClient::Response.create(json_response, net_http_resp, {})
|
354
|
+
RestClient.stub(:get).and_return(response)
|
355
|
+
|
356
|
+
results = ConstantContact::Services::EventSpotService.get_promocodes('token', 1)
|
357
|
+
results.should be_kind_of(Array)
|
358
|
+
results.first.should be_kind_of(ConstantContact::Components::Promocode)
|
359
|
+
results.first.code_name.should eq('REDUCED_FEE')
|
360
|
+
end
|
361
|
+
end
|
362
|
+
|
363
|
+
describe "#get_promocode" do
|
364
|
+
it "returns a promocode" do
|
365
|
+
json = load_file('promocode_response.json')
|
366
|
+
net_http_resp = Net::HTTPResponse.new(1.0, 200, 'OK')
|
367
|
+
|
368
|
+
response = RestClient::Response.create(json, net_http_resp, {})
|
369
|
+
RestClient.stub(:get).and_return(response)
|
370
|
+
|
371
|
+
result = ConstantContact::Services::EventSpotService.get_promocode('token', 1, 1)
|
372
|
+
result.should be_kind_of(ConstantContact::Components::Promocode)
|
373
|
+
result.code_name.should eq('TOTAL_FEE')
|
374
|
+
end
|
375
|
+
end
|
376
|
+
|
377
|
+
describe "#add_promocode" do
|
378
|
+
it "adds a promocode" do
|
379
|
+
json = load_file('promocode_response.json')
|
380
|
+
net_http_resp = Net::HTTPResponse.new(1.0, 200, 'OK')
|
381
|
+
|
382
|
+
response = RestClient::Response.create(json, net_http_resp, {})
|
383
|
+
RestClient.stub(:post).and_return(response)
|
384
|
+
promocode = ConstantContact::Components::Promocode.create(JSON.parse(json))
|
385
|
+
|
386
|
+
result = ConstantContact::Services::EventSpotService.add_promocode('token', 1, promocode)
|
387
|
+
result.should be_kind_of(ConstantContact::Components::Promocode)
|
388
|
+
result.code_name.should eq('TOTAL_FEE')
|
389
|
+
end
|
390
|
+
end
|
391
|
+
|
392
|
+
describe "#delete_promocode" do
|
393
|
+
it "deletes a promocode" do
|
394
|
+
net_http_resp = Net::HTTPResponse.new(1.0, 204, 'No Content')
|
395
|
+
|
396
|
+
response = RestClient::Response.create('', net_http_resp, {})
|
397
|
+
RestClient.stub(:delete).and_return(response)
|
398
|
+
|
399
|
+
result = ConstantContact::Services::EventSpotService.delete_promocode('token', 1, 1)
|
400
|
+
result.should be_true
|
401
|
+
end
|
402
|
+
end
|
403
|
+
|
404
|
+
describe "#update_promocode" do
|
405
|
+
it "updates an event item" do
|
406
|
+
json = load_file('promocode_response.json')
|
407
|
+
net_http_resp = Net::HTTPResponse.new(1.0, 200, 'OK')
|
408
|
+
|
409
|
+
response = RestClient::Response.create(json, net_http_resp, {})
|
410
|
+
RestClient.stub(:put).and_return(response)
|
411
|
+
promocode = ConstantContact::Components::Promocode.create(JSON.parse(json))
|
412
|
+
|
413
|
+
result = ConstantContact::Services::EventSpotService.update_promocode('token', 1, promocode)
|
414
|
+
result.should be_kind_of(ConstantContact::Components::Promocode)
|
415
|
+
result.code_name.should eq('TOTAL_FEE')
|
416
|
+
end
|
417
|
+
end
|
418
|
+
|
217
419
|
end
|