ticketmaster-basecamp 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.
@@ -0,0 +1,16 @@
1
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
2
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
+ require 'rubygems'
4
+ require 'ticketmaster'
5
+ require 'active_resource/http_mock'
6
+ require 'ticketmaster-basecamp'
7
+ require 'spec'
8
+ require 'spec/autorun'
9
+
10
+ Spec::Runner.configure do |config|
11
+
12
+ end
13
+
14
+ def fixture_for(name)
15
+ File.read(File.dirname(__FILE__) + '/fixtures/' + name + '.xml')
16
+ end
@@ -0,0 +1,9 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe "TicketmasterBasecamp" do
4
+ it "should be able to instantiate a new instance" do
5
+ @ticketmaster = TicketMaster.new(:basecamp, {:domain => 'ticketmaster.basecamphq.com', :token => '000000'})
6
+ @ticketmaster.should be_an_instance_of(TicketMaster)
7
+ @ticketmaster.should be_a_kind_of(TicketMaster::Provider::Basecamp)
8
+ end
9
+ end
@@ -0,0 +1,72 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe "Ticketmaster::Provider::Basecamp::Ticket" do
4
+ before(:all) do
5
+ headers = {'Authorization' => 'Basic MDAwMDAwOkJhc2VjYW1wIGxhbW8='}
6
+ wheaders = headers.merge('Content-Type' => 'application/xml')
7
+ ActiveResource::HttpMock.respond_to do |mock|
8
+ mock.get '/projects/5220065.xml', headers, fixture_for('projects/5220065'), 200
9
+ mock.get '/projects/5220065/todo_lists.xml', headers, fixture_for('todo_lists'), 200
10
+ mock.get '/todo_lists/9973518/todo_items.xml', headers, fixture_for('todo_lists/9973518_items'), 200
11
+ mock.get '/todo_lists/9972756/todo_items.xml', headers, fixture_for('todo_lists/9972756_items'), 200
12
+ mock.put '/todo_items/62509330.xml', wheaders, '', 200
13
+ mock.post '/todo_lists/9972756/todo_items.xml', wheaders, '', 200
14
+ end
15
+ @project_id = 5220065
16
+ @ticket_id = 62509330
17
+ end
18
+
19
+ before(:each) do
20
+ @ticketmaster = TicketMaster.new(:basecamp, :domain => 'ticketmaster.basecamphq.com', :token => '000000')
21
+ @project = @ticketmaster.project(@project_id)
22
+ @klass = TicketMaster::Provider::Basecamp::Ticket
23
+ end
24
+
25
+ it "should be able to load all tickets" do
26
+ @project.tickets.should be_an_instance_of(Array)
27
+ @project.tickets.first.should be_an_instance_of(@klass)
28
+ end
29
+
30
+ it "should be able to load all tickets based on an array of ids" do
31
+ @tickets = @project.tickets([@ticket_id])
32
+ @tickets.should be_an_instance_of(Array)
33
+ @tickets.first.should be_an_instance_of(@klass)
34
+ @tickets.first.id.should == @ticket_id
35
+ end
36
+
37
+ it "should be able to load all tickets based on attributes" do
38
+ @tickets = @project.tickets(:id => @ticket_id)
39
+ @tickets.should be_an_instance_of(Array)
40
+ @tickets.first.should be_an_instance_of(@klass)
41
+ @tickets.first.id.should == @ticket_id
42
+ end
43
+
44
+ it "should return the ticket class" do
45
+ @project.ticket.should == @klass
46
+ end
47
+
48
+ it "should be able to load a single ticket" do
49
+ @ticket = @project.ticket(@ticket_id)
50
+ @ticket.should be_an_instance_of(@klass)
51
+ @ticket.id.should == @ticket_id
52
+ end
53
+
54
+ it "should be able to load a single ticket based on attributes" do
55
+ @ticket = @project.ticket(:id => @ticket_id)
56
+ @ticket.should be_an_instance_of(@klass)
57
+ @ticket.id.should == @ticket_id
58
+ end
59
+
60
+ it "should be able to update and save a ticket" do
61
+ @ticket = @project.ticket(@ticket_id)
62
+ @ticket.save.should == nil
63
+ @ticket.description = 'hello'
64
+ @ticket.save.should == true
65
+ end
66
+
67
+ it "should be able to create a ticket" do
68
+ @ticket = @project.ticket!(:todo_list_id => 9972756, :title => 'Ticket #12', :description => 'Body')
69
+ @ticket.should be_an_instance_of(@klass)
70
+ end
71
+
72
+ end
metadata ADDED
@@ -0,0 +1,113 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: ticketmaster-basecamp
3
+ version: !ruby/object:Gem::Version
4
+ hash: 27
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 1
9
+ - 0
10
+ version: 0.1.0
11
+ platform: ruby
12
+ authors:
13
+ - HybridGroup
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2010-07-23 00:00:00 -07:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ name: rspec
23
+ prerelease: false
24
+ requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
26
+ requirements:
27
+ - - ">="
28
+ - !ruby/object:Gem::Version
29
+ hash: 13
30
+ segments:
31
+ - 1
32
+ - 2
33
+ - 9
34
+ version: 1.2.9
35
+ type: :development
36
+ version_requirements: *id001
37
+ description: This gem provides an interface to basecamp through the ticketmaster gem
38
+ email: hong.quach@abigfisch.com
39
+ executables: []
40
+
41
+ extensions: []
42
+
43
+ extra_rdoc_files:
44
+ - LICENSE
45
+ - README.md
46
+ files:
47
+ - .document
48
+ - .gitignore
49
+ - LICENSE
50
+ - README.md
51
+ - Rakefile
52
+ - VERSION
53
+ - lib/basecamp/basecamp.rb
54
+ - lib/provider/basecamp.rb
55
+ - lib/provider/comment.rb
56
+ - lib/provider/project.rb
57
+ - lib/provider/ticket.rb
58
+ - lib/ticketmaster-basecamp.rb
59
+ - spec/comments_spec.rb
60
+ - spec/fixtures/comments.xml
61
+ - spec/fixtures/comments/74197051.xml
62
+ - spec/fixtures/comments/74197096.xml
63
+ - spec/fixtures/projects.xml
64
+ - spec/fixtures/projects/5220065.xml
65
+ - spec/fixtures/projects/create.xml
66
+ - spec/fixtures/todo_lists.xml
67
+ - spec/fixtures/todo_lists/9972756_items.xml
68
+ - spec/fixtures/todo_lists/9973518_items.xml
69
+ - spec/projects_spec.rb
70
+ - spec/spec.opts
71
+ - spec/spec_helper.rb
72
+ - spec/ticketmaster-basecamp_spec.rb
73
+ - spec/tickets_spec.rb
74
+ has_rdoc: true
75
+ homepage: http://github.com/kiafaldorius/ticketmaster-basecamp
76
+ licenses: []
77
+
78
+ post_install_message:
79
+ rdoc_options:
80
+ - --charset=UTF-8
81
+ require_paths:
82
+ - lib
83
+ required_ruby_version: !ruby/object:Gem::Requirement
84
+ none: false
85
+ requirements:
86
+ - - ">="
87
+ - !ruby/object:Gem::Version
88
+ hash: 3
89
+ segments:
90
+ - 0
91
+ version: "0"
92
+ required_rubygems_version: !ruby/object:Gem::Requirement
93
+ none: false
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ hash: 3
98
+ segments:
99
+ - 0
100
+ version: "0"
101
+ requirements: []
102
+
103
+ rubyforge_project:
104
+ rubygems_version: 1.3.7
105
+ signing_key:
106
+ specification_version: 3
107
+ summary: The basecamp provider for ticketmaster
108
+ test_files:
109
+ - spec/comments_spec.rb
110
+ - spec/projects_spec.rb
111
+ - spec/spec_helper.rb
112
+ - spec/ticketmaster-basecamp_spec.rb
113
+ - spec/tickets_spec.rb