ticketmaster-lighthouse 0.3.5 → 0.3.6

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.3.5
1
+ 0.3.6
@@ -84,7 +84,7 @@ module LighthouseAPI
84
84
 
85
85
  self.host_format = '%s://%s%s'
86
86
  self.domain_format = '%s.lighthouseapp.com'
87
- self.protocol = 'http'
87
+ self.protocol = 'https'
88
88
  self.port = ''
89
89
 
90
90
  class Base < ActiveResource::Base
@@ -66,7 +66,7 @@ module TicketMaster::Provider
66
66
 
67
67
  # Set the description, mapped to body, which actually does a comment
68
68
  def description=(desc)
69
- body = desc
69
+ self.body = desc
70
70
  end
71
71
 
72
72
  # Get the assigned person's name
@@ -105,9 +105,10 @@ module TicketMaster::Provider
105
105
  t = "\"#{t}\"" if t.include?(' ')
106
106
  mem << t
107
107
  end.join(' ') if @tags
108
- super
108
+ result = super
109
109
  body = nil
110
110
  @system_data[:client].body = nil
111
+ result
111
112
  end
112
113
 
113
114
  # The closer
@@ -0,0 +1,64 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe "Ticketmaster::Provider::Lighthouse::Comment" do
4
+ before(:all) do
5
+ headers = {'X-LighthouseToken' => '000000'}
6
+ wheaders = headers.merge('Content-Type' => 'application/xml')
7
+ ActiveResource::HttpMock.respond_to do |mock|
8
+ mock.get '/projects/54448.xml', headers, fixture_for('projects/54448'), 200
9
+ mock.get '/projects/54448/tickets.xml', headers, fixture_for('tickets'), 200
10
+ mock.get '/projects/54448/tickets/2.xml', headers, fixture_for('tickets/2'), 200
11
+ mock.put '/projects/54448/tickets/2.xml', wheaders, '', 200
12
+ end
13
+ @project_id = 54448
14
+ end
15
+
16
+ before(:each) do
17
+ @ticketmaster = TicketMaster.new(:lighthouse, :account => 'ticketmaster', :token => '000000')
18
+ @project = @ticketmaster.project(@project_id)
19
+ @ticket = @project.ticket(2)
20
+ @klass = TicketMaster::Provider::Lighthouse::Comment
21
+ end
22
+
23
+ it "should be able to load all comments" do
24
+ @comments = @ticket.comments
25
+ @comments.should be_an_instance_of Array
26
+ @comments.first.should be_an_instance_of @klass
27
+ end
28
+
29
+ it "should be able to load all comments based on 'id's" do # lighthouse comments don't have ids, so we're faking them
30
+ @comments = @ticket.comments([0,2,3])
31
+ @comments.should be_an_instance_of Array
32
+ @comments.first.id.should == 0
33
+ @comments.last.id.should == 3
34
+ @comments[1].should be_an_instance_of @klass
35
+ end
36
+
37
+ it "should be able to load all comments based on attributes" do
38
+ @comments = @ticket.comments(:number => @ticket.id)
39
+ @comments.should be_an_instance_of Array
40
+ @comments.first.should be_an_instance_of @klass
41
+ end
42
+
43
+ it "should be able to load a comment based on id" do
44
+ @comment = @ticket.comment(3)
45
+ @comment.should be_an_instance_of @klass
46
+ @comment.id.should == 3
47
+ end
48
+
49
+ it "should be able to load a comment based on attributes" do
50
+ @comment = @ticket.comment(:number => @ticket.id)
51
+ @comment.should be_an_instance_of @klass
52
+ end
53
+
54
+ it "should return the class" do
55
+ @ticket.comment.should == @klass
56
+ end
57
+
58
+ it "should be able to create a comment" do # which as mentioned before is technically a ticket update
59
+ @test = @klass.find_by_id(54448, 2, 10)
60
+ @klass.should_receive(:find_by_id).with(54448, 2, 11).and_return(@test)
61
+ @comment = @ticket.comment!(:body => 'hello there boys and girls')
62
+ @comment.should be_an_instance_of @klass
63
+ end
64
+ end
@@ -0,0 +1,29 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <projects type="array">
3
+ <project>
4
+ <archived type="boolean">false</archived>
5
+ <created-at type="datetime">2010-06-15T00:44:27Z</created-at>
6
+ <default-assigned-user-id type="integer" nil="true"></default-assigned-user-id>
7
+ <default-milestone-id type="integer" nil="true"></default-milestone-id>
8
+ <default-ticket-text nil="true"></default-ticket-text>
9
+ <description>This is a test project created in order to test the ticketmaster-lighthouse gem.</description>
10
+ <description-html>&lt;div&gt;&lt;p&gt;This is a test project created in order to test the
11
+ ticketmaster-lighthouse gem.&lt;/p&gt;&lt;/div&gt;</description-html>
12
+ <hidden type="boolean">false</hidden>
13
+ <id type="integer">54448</id>
14
+ <license nil="true"></license>
15
+ <name>lh-test</name>
16
+ <open-tickets-count type="integer">11</open-tickets-count>
17
+ <permalink>lh-test</permalink>
18
+ <public type="boolean">true</public>
19
+ <send-changesets-to-events type="boolean">true</send-changesets-to-events>
20
+ <updated-at type="datetime">2010-07-06T22:00:38Z</updated-at>
21
+ <open-states-list>new,open</open-states-list>
22
+ <closed-states-list>resolved,hold,invalid</closed-states-list>
23
+ <open-states>new/f17 # You can add comments here
24
+ open/aaa # if you want to.</open-states>
25
+ <closed-states>resolved/6A0 # You can customize colors
26
+ hold/EB0 # with 3 or 6 character hex codes
27
+ invalid/A30 # 'A30' expands to 'AA3300'</closed-states>
28
+ </project>
29
+ </projects>
@@ -0,0 +1,27 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project>
3
+ <archived type="boolean">false</archived>
4
+ <created-at type="datetime">2010-06-15T00:44:27Z</created-at>
5
+ <default-assigned-user-id type="integer" nil="true"></default-assigned-user-id>
6
+ <default-milestone-id type="integer" nil="true"></default-milestone-id>
7
+ <default-ticket-text nil="true"></default-ticket-text>
8
+ <description>This is a test project created in order to test the ticketmaster-lighthouse gem.</description>
9
+ <description-html>&lt;div&gt;&lt;p&gt;This is a test project created in order to test the
10
+ ticketmaster-lighthouse gem.&lt;/p&gt;&lt;/div&gt;</description-html>
11
+ <hidden type="boolean">false</hidden>
12
+ <id type="integer">54448</id>
13
+ <license nil="true"></license>
14
+ <name>lh-test</name>
15
+ <open-tickets-count type="integer">11</open-tickets-count>
16
+ <permalink>lh-test</permalink>
17
+ <public type="boolean">true</public>
18
+ <send-changesets-to-events type="boolean">true</send-changesets-to-events>
19
+ <updated-at type="datetime">2010-07-06T22:00:38Z</updated-at>
20
+ <open-states-list>new,open</open-states-list>
21
+ <closed-states-list>resolved,hold,invalid</closed-states-list>
22
+ <open-states>new/f17 # You can add comments here
23
+ open/aaa # if you want to.</open-states>
24
+ <closed-states>resolved/6A0 # You can customize colors
25
+ hold/EB0 # with 3 or 6 character hex codes
26
+ invalid/A30 # 'A30' expands to 'AA3300'</closed-states>
27
+ </project>
@@ -0,0 +1,26 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <project>
3
+ <archived type="boolean">false</archived>
4
+ <created-at type="datetime">2010-07-07T18:06:46Z</created-at>
5
+ <default-assigned-user-id type="integer" nil="true"></default-assigned-user-id>
6
+ <default-milestone-id type="integer" nil="true"></default-milestone-id>
7
+ <default-ticket-text nil="true"></default-ticket-text>
8
+ <description nil="true"></description>
9
+ <description-html></description-html>
10
+ <hidden type="boolean">false</hidden>
11
+ <id type="integer">55789</id>
12
+ <license nil="true"></license>
13
+ <name>Project #1</name>
14
+ <open-tickets-count type="integer">0</open-tickets-count>
15
+ <permalink>project-1</permalink>
16
+ <public type="boolean">false</public>
17
+ <send-changesets-to-events type="boolean">true</send-changesets-to-events>
18
+ <updated-at type="datetime">2010-07-07T18:06:46Z</updated-at>
19
+ <open-states-list>new,open</open-states-list>
20
+ <closed-states-list>resolved,hold,invalid</closed-states-list>
21
+ <open-states>new/f17 # You can add comments here
22
+ open/aaa # if you want to.</open-states>
23
+ <closed-states>resolved/6A0 # You can customize colors
24
+ hold/EB0 # with 3 or 6 character hex codes
25
+ invalid/A30 # 'A30' expands to 'AA3300'</closed-states>
26
+ </project>
@@ -0,0 +1,79 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <tickets type="array">
3
+ <ticket>
4
+ <assigned-user-id type="integer" nil="true"></assigned-user-id>
5
+ <attachments-count type="integer">0</attachments-count>
6
+ <closed type="boolean">false</closed>
7
+ <created-at type="datetime">2010-07-03T05:01:48Z</created-at>
8
+ <creator-id type="integer">67916</creator-id>
9
+ <milestone-due-on type="datetime" nil="true"></milestone-due-on>
10
+ <milestone-id type="integer" nil="true"></milestone-id>
11
+ <number type="integer">5</number>
12
+ <permalink>tehantuehn</permalink>
13
+ <priority type="integer">3</priority>
14
+ <project-id type="integer">54448</project-id>
15
+ <raw-data type="binary" encoding="base64" nil="true"></raw-data>
16
+ <state>new</state>
17
+ <tag nil="true"></tag>
18
+ <title>tehantuehn</title>
19
+ <updated-at type="datetime">2010-07-03T05:01:51Z</updated-at>
20
+ <user-id type="integer">67916</user-id>
21
+ <user-name>Kia Kroas</user-name>
22
+ <creator-name>Kia Kroas</creator-name>
23
+ <url>http://ticketmaster.lighthouseapp.com/projects/54448/tickets/5</url>
24
+ <original-body>cheuasoht atesuhn</original-body>
25
+ <latest-body>cheuasoht atesuhn</latest-body>
26
+ <original-body-html>&lt;div&gt;&lt;p&gt;cheuasoht atesuhn&lt;/p&gt;&lt;/div&gt;</original-body-html>
27
+ </ticket>
28
+ <ticket>
29
+ <assigned-user-id type="integer" nil="true"></assigned-user-id>
30
+ <attachments-count type="integer">0</attachments-count>
31
+ <closed type="boolean">false</closed>
32
+ <created-at type="datetime">2010-07-03T05:00:48Z</created-at>
33
+ <creator-id type="integer">67916</creator-id>
34
+ <milestone-due-on type="datetime" nil="true"></milestone-due-on>
35
+ <milestone-id type="integer" nil="true"></milestone-id>
36
+ <number type="integer">4</number>
37
+ <permalink>tehantuehn</permalink>
38
+ <priority type="integer">2</priority>
39
+ <project-id type="integer">54448</project-id>
40
+ <raw-data type="binary" encoding="base64" nil="true"></raw-data>
41
+ <state>new</state>
42
+ <tag nil="true"></tag>
43
+ <title>tehantuehn</title>
44
+ <updated-at type="datetime">2010-07-03T05:00:48Z</updated-at>
45
+ <user-id type="integer">67916</user-id>
46
+ <user-name>Kia Kroas</user-name>
47
+ <creator-name>Kia Kroas</creator-name>
48
+ <url>http://ticketmaster.lighthouseapp.com/projects/54448/tickets/4</url>
49
+ <original-body nil="true"></original-body>
50
+ <latest-body nil="true"></latest-body>
51
+ <original-body-html></original-body-html>
52
+ </ticket>
53
+ <ticket>
54
+ <assigned-user-id type="integer">67916</assigned-user-id>
55
+ <attachments-count type="integer">0</attachments-count>
56
+ <closed type="boolean">false</closed>
57
+ <created-at type="datetime">2010-07-02T23:13:29Z</created-at>
58
+ <creator-id type="integer">67916</creator-id>
59
+ <milestone-due-on type="datetime" nil="true"></milestone-due-on>
60
+ <milestone-id type="integer" nil="true"></milestone-id>
61
+ <number type="integer">2</number>
62
+ <permalink>test-ticket</permalink>
63
+ <priority type="integer">2</priority>
64
+ <project-id type="integer">54448</project-id>
65
+ <raw-data type="binary" encoding="base64" nil="true"></raw-data>
66
+ <state>new</state>
67
+ <tag>choom heh pers &quot;tag1 tagster&quot; &quot;wha wha waa&quot;</tag>
68
+ <title>Cheese cakes</title>
69
+ <updated-at type="datetime">2010-07-02T23:14:06Z</updated-at>
70
+ <user-id type="integer">67916</user-id>
71
+ <user-name>Kia Kroas</user-name>
72
+ <creator-name>Kia Kroas</creator-name>
73
+ <assigned-user-name>Kia Kroas</assigned-user-name>
74
+ <url>http://ticketmaster.lighthouseapp.com/projects/54448/tickets/2</url>
75
+ <original-body>nt.,hntHOETUHAONTUHANOSTEUHANTOU</original-body>
76
+ <latest-body>nt.,hntHOETUHAONTUHANOSTEUHANTOU</latest-body>
77
+ <original-body-html>&lt;div&gt;&lt;p&gt;nt.,hntHOETUHAONTUHANOSTEUHANTOU&lt;/p&gt;&lt;/div&gt;</original-body-html>
78
+ </ticket>
79
+ </tickets>
@@ -0,0 +1,317 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ticket>
3
+ <assigned-user-id type="integer">67916</assigned-user-id>
4
+ <attachments-count type="integer">0</attachments-count>
5
+ <closed type="boolean">false</closed>
6
+ <created-at type="datetime">2010-07-02T23:13:29Z</created-at>
7
+ <creator-id type="integer">67916</creator-id>
8
+ <milestone-due-on type="datetime" nil="true"></milestone-due-on>
9
+ <milestone-id type="integer" nil="true"></milestone-id>
10
+ <number type="integer">2</number>
11
+ <permalink>test-ticket</permalink>
12
+ <priority type="integer">2</priority>
13
+ <project-id type="integer">54448</project-id>
14
+ <raw-data type="binary" encoding="base64" nil="true"></raw-data>
15
+ <state>new</state>
16
+ <tag>choom heh pers &quot;tag1 tagster&quot; &quot;wha wha waa&quot;</tag>
17
+ <title>Cheese cakes</title>
18
+ <updated-at type="datetime">2010-07-02T23:14:06Z</updated-at>
19
+ <user-id type="integer">67916</user-id>
20
+ <user-name>Kia Kroas</user-name>
21
+ <creator-name>Kia Kroas</creator-name>
22
+ <assigned-user-name>Kia Kroas</assigned-user-name>
23
+ <url>http://ticketmaster.lighthouseapp.com/projects/54448/tickets/2</url>
24
+ <original-body>nt.,hntHOETUHAONTUHANOSTEUHANTOU</original-body>
25
+ <latest-body>nt.,hntHOETUHAONTUHANOSTEUHANTOU</latest-body>
26
+ <original-body-html>&lt;div&gt;&lt;p&gt;nt.,hntHOETUHAONTUHANOSTEUHANTOU&lt;/p&gt;&lt;/div&gt;</original-body-html>
27
+ <versions type="array">
28
+ <version type="Ticket::Version">
29
+ <assigned-user-id type="integer" nil="true"></assigned-user-id>
30
+ <attachments-count type="integer">0</attachments-count>
31
+ <body>nt.,hntHOETUHAONTUHANOSTEUHANTOU</body>
32
+ <body-html>&lt;div&gt;&lt;p&gt;nt.,hntHOETUHAONTUHANOSTEUHANTOU&lt;/p&gt;&lt;/div&gt;</body-html>
33
+ <closed type="boolean">false</closed>
34
+ <created-at type="datetime">2010-06-15T00:50:22Z</created-at>
35
+ <creator-id type="integer">67916</creator-id>
36
+ <diffable-attributes type="yaml">--- {}
37
+
38
+ </diffable-attributes>
39
+ <milestone-id type="integer" nil="true"></milestone-id>
40
+ <number type="integer">2</number>
41
+ <permalink>test-ticket</permalink>
42
+ <priority type="integer">0</priority>
43
+ <project-id type="integer">54448</project-id>
44
+ <state>new</state>
45
+ <tag nil="true"></tag>
46
+ <title>Test ticket</title>
47
+ <updated-at type="datetime">2010-06-29T22:36:01Z</updated-at>
48
+ <user-id type="integer">67916</user-id>
49
+ <user-name>Kia Kroas</user-name>
50
+ <creator-name>Kia Kroas</creator-name>
51
+ <assigned-user-name nil="true"></assigned-user-name>
52
+ <url>http://ticketmaster.lighthouseapp.com/projects/54448/tickets/2</url>
53
+ </version>
54
+ <version type="Ticket::Version">
55
+ <assigned-user-id type="integer" nil="true"></assigned-user-id>
56
+ <attachments-count type="integer">0</attachments-count>
57
+ <body nil="true"></body>
58
+ <body-html nil="true"></body-html>
59
+ <closed type="boolean">false</closed>
60
+ <created-at type="datetime">2010-06-15T01:39:36Z</created-at>
61
+ <creator-id type="integer">67916</creator-id>
62
+ <diffable-attributes type="yaml">---
63
+ :title: Test ticket
64
+ </diffable-attributes>
65
+ <milestone-id type="integer" nil="true"></milestone-id>
66
+ <number type="integer">2</number>
67
+ <permalink>test-ticket</permalink>
68
+ <priority type="integer">0</priority>
69
+ <project-id type="integer">54448</project-id>
70
+ <state>new</state>
71
+ <tag nil="true"></tag>
72
+ <title>Cheese cakes</title>
73
+ <updated-at type="datetime">2010-06-15T01:39:40Z</updated-at>
74
+ <user-id type="integer">67916</user-id>
75
+ <user-name>Kia Kroas</user-name>
76
+ <creator-name>Kia Kroas</creator-name>
77
+ <assigned-user-name nil="true"></assigned-user-name>
78
+ <url>http://ticketmaster.lighthouseapp.com/projects/54448/tickets/2</url>
79
+ </version>
80
+ <version type="Ticket::Version">
81
+ <assigned-user-id type="integer">67916</assigned-user-id>
82
+ <attachments-count type="integer">0</attachments-count>
83
+ <body>Rokatoo</body>
84
+ <body-html>&lt;div&gt;&lt;p&gt;Rokatoo&lt;/p&gt;&lt;/div&gt;</body-html>
85
+ <closed type="boolean">false</closed>
86
+ <created-at type="datetime">2010-06-29T22:35:37Z</created-at>
87
+ <creator-id type="integer">67916</creator-id>
88
+ <diffable-attributes type="yaml">---
89
+ :assigned_user:
90
+ :priority: 0
91
+ :tag:
92
+ </diffable-attributes>
93
+ <milestone-id type="integer" nil="true"></milestone-id>
94
+ <number type="integer">2</number>
95
+ <permalink>test-ticket</permalink>
96
+ <priority type="integer">2</priority>
97
+ <project-id type="integer">54448</project-id>
98
+ <state>new</state>
99
+ <tag>&quot;tag1 tagster&quot;</tag>
100
+ <title>Cheese cakes</title>
101
+ <updated-at type="datetime">2010-06-29T22:35:39Z</updated-at>
102
+ <user-id type="integer">67916</user-id>
103
+ <user-name>Kia Kroas</user-name>
104
+ <creator-name>Kia Kroas</creator-name>
105
+ <assigned-user-name>Kia Kroas</assigned-user-name>
106
+ <url>http://ticketmaster.lighthouseapp.com/projects/54448/tickets/2</url>
107
+ </version>
108
+ <version type="Ticket::Version">
109
+ <assigned-user-id type="integer">67916</assigned-user-id>
110
+ <attachments-count type="integer">0</attachments-count>
111
+ <body>This is a ticket set from tm console</body>
112
+ <body-html>&lt;div&gt;&lt;p&gt;This is a ticket set from tm console&lt;/p&gt;&lt;/div&gt;</body-html>
113
+ <closed type="boolean">false</closed>
114
+ <created-at type="datetime">2010-07-02T05:32:19Z</created-at>
115
+ <creator-id type="integer">67916</creator-id>
116
+ <diffable-attributes type="yaml">--- {}
117
+
118
+ </diffable-attributes>
119
+ <milestone-id type="integer" nil="true"></milestone-id>
120
+ <number type="integer">2</number>
121
+ <permalink>test-ticket</permalink>
122
+ <priority type="integer">2</priority>
123
+ <project-id type="integer">54448</project-id>
124
+ <state>new</state>
125
+ <tag>&quot;tag1 tagster&quot;</tag>
126
+ <title>Cheese cakes</title>
127
+ <updated-at type="datetime">2010-07-02T05:32:20Z</updated-at>
128
+ <user-id type="integer">67916</user-id>
129
+ <user-name>Kia Kroas</user-name>
130
+ <creator-name>Kia Kroas</creator-name>
131
+ <assigned-user-name>Kia Kroas</assigned-user-name>
132
+ <url>http://ticketmaster.lighthouseapp.com/projects/54448/tickets/2</url>
133
+ </version>
134
+ <version type="Ticket::Version">
135
+ <assigned-user-id type="integer">67916</assigned-user-id>
136
+ <attachments-count type="integer">0</attachments-count>
137
+ <body>What the hey?</body>
138
+ <body-html>&lt;div&gt;&lt;p&gt;What the hey?&lt;/p&gt;&lt;/div&gt;</body-html>
139
+ <closed type="boolean">false</closed>
140
+ <created-at type="datetime">2010-07-02T05:32:49Z</created-at>
141
+ <creator-id type="integer">67916</creator-id>
142
+ <diffable-attributes type="yaml">--- {}
143
+
144
+ </diffable-attributes>
145
+ <milestone-id type="integer" nil="true"></milestone-id>
146
+ <number type="integer">2</number>
147
+ <permalink>test-ticket</permalink>
148
+ <priority type="integer">2</priority>
149
+ <project-id type="integer">54448</project-id>
150
+ <state>new</state>
151
+ <tag>&quot;tag1 tagster&quot;</tag>
152
+ <title>Cheese cakes</title>
153
+ <updated-at type="datetime">2010-07-02T05:32:51Z</updated-at>
154
+ <user-id type="integer">67916</user-id>
155
+ <user-name>Kia Kroas</user-name>
156
+ <creator-name>Kia Kroas</creator-name>
157
+ <assigned-user-name>Kia Kroas</assigned-user-name>
158
+ <url>http://ticketmaster.lighthouseapp.com/projects/54448/tickets/2</url>
159
+ </version>
160
+ <version type="Ticket::Version">
161
+ <assigned-user-id type="integer">67916</assigned-user-id>
162
+ <attachments-count type="integer">0</attachments-count>
163
+ <body>What the hey?</body>
164
+ <body-html>&lt;div&gt;&lt;p&gt;What the hey?&lt;/p&gt;&lt;/div&gt;</body-html>
165
+ <closed type="boolean">false</closed>
166
+ <created-at type="datetime">2010-07-02T05:34:24Z</created-at>
167
+ <creator-id type="integer">67916</creator-id>
168
+ <diffable-attributes type="yaml">--- {}
169
+
170
+ </diffable-attributes>
171
+ <milestone-id type="integer" nil="true"></milestone-id>
172
+ <number type="integer">2</number>
173
+ <permalink>test-ticket</permalink>
174
+ <priority type="integer">2</priority>
175
+ <project-id type="integer">54448</project-id>
176
+ <state>new</state>
177
+ <tag>&quot;tag1 tagster&quot;</tag>
178
+ <title>Cheese cakes</title>
179
+ <updated-at type="datetime">2010-07-02T05:34:27Z</updated-at>
180
+ <user-id type="integer">67916</user-id>
181
+ <user-name>Kia Kroas</user-name>
182
+ <creator-name>Kia Kroas</creator-name>
183
+ <assigned-user-name>Kia Kroas</assigned-user-name>
184
+ <url>http://ticketmaster.lighthouseapp.com/projects/54448/tickets/2</url>
185
+ </version>
186
+ <version type="Ticket::Version">
187
+ <assigned-user-id type="integer">67916</assigned-user-id>
188
+ <attachments-count type="integer">0</attachments-count>
189
+ <body></body>
190
+ <body-html></body-html>
191
+ <closed type="boolean">false</closed>
192
+ <created-at type="datetime">2010-07-02T05:39:37Z</created-at>
193
+ <creator-id type="integer">67916</creator-id>
194
+ <diffable-attributes type="yaml">---
195
+ :tag: &quot;\&quot;tag1 tagster\&quot;&quot;
196
+ </diffable-attributes>
197
+ <milestone-id type="integer" nil="true"></milestone-id>
198
+ <number type="integer">2</number>
199
+ <permalink>test-ticket</permalink>
200
+ <priority type="integer">2</priority>
201
+ <project-id type="integer">54448</project-id>
202
+ <state>new</state>
203
+ <tag>&quot;tag1 tagster&quot; &quot;wha wha waa&quot;</tag>
204
+ <title>Cheese cakes</title>
205
+ <updated-at type="datetime">2010-07-02T05:39:40Z</updated-at>
206
+ <user-id type="integer">67916</user-id>
207
+ <user-name>Kia Kroas</user-name>
208
+ <creator-name>Kia Kroas</creator-name>
209
+ <assigned-user-name>Kia Kroas</assigned-user-name>
210
+ <url>http://ticketmaster.lighthouseapp.com/projects/54448/tickets/2</url>
211
+ </version>
212
+ <version type="Ticket::Version">
213
+ <assigned-user-id type="integer">67916</assigned-user-id>
214
+ <attachments-count type="integer">0</attachments-count>
215
+ <body></body>
216
+ <body-html></body-html>
217
+ <closed type="boolean">false</closed>
218
+ <created-at type="datetime">2010-07-02T05:40:03Z</created-at>
219
+ <creator-id type="integer">67916</creator-id>
220
+ <diffable-attributes type="yaml">---
221
+ :tag: &quot;\&quot;tag1 tagster\&quot; \&quot;wha wha waa\&quot;&quot;
222
+ </diffable-attributes>
223
+ <milestone-id type="integer" nil="true"></milestone-id>
224
+ <number type="integer">2</number>
225
+ <permalink>test-ticket</permalink>
226
+ <priority type="integer">2</priority>
227
+ <project-id type="integer">54448</project-id>
228
+ <state>new</state>
229
+ <tag>choom heh pers &quot;tag1 tagster&quot; &quot;wha wha waa&quot;</tag>
230
+ <title>Cheese cakes</title>
231
+ <updated-at type="datetime">2010-07-02T05:40:04Z</updated-at>
232
+ <user-id type="integer">67916</user-id>
233
+ <user-name>Kia Kroas</user-name>
234
+ <creator-name>Kia Kroas</creator-name>
235
+ <assigned-user-name>Kia Kroas</assigned-user-name>
236
+ <url>http://ticketmaster.lighthouseapp.com/projects/54448/tickets/2</url>
237
+ </version>
238
+ <version type="Ticket::Version">
239
+ <assigned-user-id type="integer">67916</assigned-user-id>
240
+ <attachments-count type="integer">0</attachments-count>
241
+ <body>taoh natht aehu sa utaohe nsahu saeho nsahoeunsau '</body>
242
+ <body-html>&lt;div&gt;&lt;p&gt;taoh natht aehu sa utaohe nsahu saeho nsahoeunsau '&lt;/p&gt;&lt;/div&gt;</body-html>
243
+ <closed type="boolean">false</closed>
244
+ <created-at type="datetime">2010-07-02T06:11:06Z</created-at>
245
+ <creator-id type="integer">67916</creator-id>
246
+ <diffable-attributes type="yaml">--- {}
247
+
248
+ </diffable-attributes>
249
+ <milestone-id type="integer" nil="true"></milestone-id>
250
+ <number type="integer">2</number>
251
+ <permalink>test-ticket</permalink>
252
+ <priority type="integer">2</priority>
253
+ <project-id type="integer">54448</project-id>
254
+ <state>new</state>
255
+ <tag>choom heh pers &quot;tag1 tagster&quot; &quot;wha wha waa&quot;</tag>
256
+ <title>Cheese cakes</title>
257
+ <updated-at type="datetime">2010-07-02T06:11:06Z</updated-at>
258
+ <user-id type="integer">67916</user-id>
259
+ <user-name>Kia Kroas</user-name>
260
+ <creator-name>Kia Kroas</creator-name>
261
+ <assigned-user-name>Kia Kroas</assigned-user-name>
262
+ <url>http://ticketmaster.lighthouseapp.com/projects/54448/tickets/2</url>
263
+ </version>
264
+ <version type="Ticket::Version">
265
+ <assigned-user-id type="integer">67916</assigned-user-id>
266
+ <attachments-count type="integer">0</attachments-count>
267
+ <body nil="true"></body>
268
+ <body-html nil="true"></body-html>
269
+ <closed type="boolean">false</closed>
270
+ <created-at type="datetime">2010-07-02T20:01:33Z</created-at>
271
+ <creator-id type="integer">67916</creator-id>
272
+ <diffable-attributes type="yaml">--- {}
273
+
274
+ </diffable-attributes>
275
+ <milestone-id type="integer" nil="true"></milestone-id>
276
+ <number type="integer">2</number>
277
+ <permalink>test-ticket</permalink>
278
+ <priority type="integer">2</priority>
279
+ <project-id type="integer">54448</project-id>
280
+ <state>new</state>
281
+ <tag>choom heh pers &quot;tag1 tagster&quot; &quot;wha wha waa&quot;</tag>
282
+ <title>Cheese cakes</title>
283
+ <updated-at type="datetime">2010-07-02T20:01:36Z</updated-at>
284
+ <user-id type="integer">67916</user-id>
285
+ <user-name>Kia Kroas</user-name>
286
+ <creator-name>Kia Kroas</creator-name>
287
+ <assigned-user-name>Kia Kroas</assigned-user-name>
288
+ <url>http://ticketmaster.lighthouseapp.com/projects/54448/tickets/2</url>
289
+ </version>
290
+ <version type="Ticket::Version">
291
+ <assigned-user-id type="integer">67916</assigned-user-id>
292
+ <attachments-count type="integer">0</attachments-count>
293
+ <body>tt</body>
294
+ <body-html>&lt;div&gt;&lt;p&gt;tt&lt;/p&gt;&lt;/div&gt;</body-html>
295
+ <closed type="boolean">false</closed>
296
+ <created-at type="datetime">2010-07-02T20:02:25Z</created-at>
297
+ <creator-id type="integer">67916</creator-id>
298
+ <diffable-attributes type="yaml">--- {}
299
+
300
+ </diffable-attributes>
301
+ <milestone-id type="integer" nil="true"></milestone-id>
302
+ <number type="integer">2</number>
303
+ <permalink>test-ticket</permalink>
304
+ <priority type="integer">2</priority>
305
+ <project-id type="integer">54448</project-id>
306
+ <state>new</state>
307
+ <tag>choom heh pers &quot;tag1 tagster&quot; &quot;wha wha waa&quot;</tag>
308
+ <title>Cheese cakes</title>
309
+ <updated-at type="datetime">2010-07-02T23:14:04Z</updated-at>
310
+ <user-id type="integer">67916</user-id>
311
+ <user-name>Kia Kroas</user-name>
312
+ <creator-name>Kia Kroas</creator-name>
313
+ <assigned-user-name>Kia Kroas</assigned-user-name>
314
+ <url>http://ticketmaster.lighthouseapp.com/projects/54448/tickets/2</url>
315
+ </version>
316
+ </versions>
317
+ </ticket>
@@ -0,0 +1,78 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ticket>
3
+ <assigned-user-id type="integer" nil="true"></assigned-user-id>
4
+ <attachments-count type="integer">0</attachments-count>
5
+ <closed type="boolean">false</closed>
6
+ <created-at type="datetime">2010-07-03T05:01:48Z</created-at>
7
+ <creator-id type="integer">67916</creator-id>
8
+ <milestone-due-on type="datetime" nil="true"></milestone-due-on>
9
+ <milestone-id type="integer" nil="true"></milestone-id>
10
+ <number type="integer">5</number>
11
+ <permalink>tehantuehn</permalink>
12
+ <priority type="integer">3</priority>
13
+ <project-id type="integer">54448</project-id>
14
+ <raw-data type="binary" encoding="base64" nil="true"></raw-data>
15
+ <state>new</state>
16
+ <tag nil="true"></tag>
17
+ <title>tehantuehn</title>
18
+ <updated-at type="datetime">2010-07-08T02:11:21Z</updated-at>
19
+ <user-id type="integer">67916</user-id>
20
+ <user-name>Kia Kroas</user-name>
21
+ <creator-name>Kia Kroas</creator-name>
22
+ <url>http://ticketmaster.lighthouseapp.com/projects/54448/tickets/5</url>
23
+ <original-body>cheuasoht atesuhn</original-body>
24
+ <latest-body>cheuasoht atesuhn</latest-body>
25
+ <original-body-html>&lt;div&gt;&lt;p&gt;cheuasoht atesuhn&lt;/p&gt;&lt;/div&gt;</original-body-html>
26
+ <versions type="array">
27
+ <version type="Ticket::Version">
28
+ <assigned-user-id type="integer" nil="true"></assigned-user-id>
29
+ <attachments-count type="integer">0</attachments-count>
30
+ <body>cheuasoht atesuhn</body>
31
+ <body-html>&lt;div&gt;&lt;p&gt;cheuasoht atesuhn&lt;/p&gt;&lt;/div&gt;</body-html>
32
+ <closed type="boolean">false</closed>
33
+ <created-at type="datetime">2010-07-03T05:01:48Z</created-at>
34
+ <creator-id type="integer">67916</creator-id>
35
+ <diffable-attributes type="yaml">--- {}
36
+
37
+ </diffable-attributes>
38
+ <milestone-id type="integer" nil="true"></milestone-id>
39
+ <number type="integer">5</number>
40
+ <permalink>tehantuehn</permalink>
41
+ <priority type="integer">3</priority>
42
+ <project-id type="integer">54448</project-id>
43
+ <state>new</state>
44
+ <tag nil="true"></tag>
45
+ <title>tehantuehn</title>
46
+ <updated-at type="datetime">2010-07-03T05:01:51Z</updated-at>
47
+ <user-id type="integer">67916</user-id>
48
+ <user-name>Kia Kroas</user-name>
49
+ <creator-name>Kia Kroas</creator-name>
50
+ <url>http://ticketmaster.lighthouseapp.com/projects/54448/tickets/5</url>
51
+ </version>
52
+ <version type="Ticket::Version">
53
+ <assigned-user-id type="integer" nil="true"></assigned-user-id>
54
+ <attachments-count type="integer">0</attachments-count>
55
+ <body>New Body</body>
56
+ <body-html>&lt;div&gt;&lt;p&gt;New Body&lt;/p&gt;&lt;/div&gt;</body-html>
57
+ <closed type="boolean">false</closed>
58
+ <created-at type="datetime">2010-07-08T02:11:17Z</created-at>
59
+ <creator-id type="integer">67916</creator-id>
60
+ <diffable-attributes type="yaml">--- {}
61
+
62
+ </diffable-attributes>
63
+ <milestone-id type="integer" nil="true"></milestone-id>
64
+ <number type="integer">5</number>
65
+ <permalink>tehantuehn</permalink>
66
+ <priority type="integer">3</priority>
67
+ <project-id type="integer">54448</project-id>
68
+ <state>new</state>
69
+ <tag nil="true"></tag>
70
+ <title>tehantuehn</title>
71
+ <updated-at type="datetime">2010-07-08T02:11:21Z</updated-at>
72
+ <user-id type="integer">67916</user-id>
73
+ <user-name>Kia Kroas</user-name>
74
+ <creator-name>Kia Kroas</creator-name>
75
+ <url>http://ticketmaster.lighthouseapp.com/projects/54448/tickets/5</url>
76
+ </version>
77
+ </versions>
78
+ </ticket>
@@ -0,0 +1,26 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <ticket>
3
+ <assigned-user-id type="integer" nil="true"></assigned-user-id>
4
+ <attachments-count type="integer">0</attachments-count>
5
+ <closed type="boolean">false</closed>
6
+ <created-at type="datetime">2010-07-08T01:50:26Z</created-at>
7
+ <creator-id type="integer">67916</creator-id>
8
+ <milestone-due-on type="datetime" nil="true"></milestone-due-on>
9
+ <milestone-id type="integer" nil="true"></milestone-id>
10
+ <number type="integer">12</number>
11
+ <permalink>ticket-12</permalink>
12
+ <priority type="integer">10</priority>
13
+ <project-id type="integer">54448</project-id>
14
+ <raw-data type="binary" encoding="base64" nil="true"></raw-data>
15
+ <state>new</state>
16
+ <tag nil="true"></tag>
17
+ <title>Ticket #12</title>
18
+ <updated-at type="datetime">2010-07-08T01:50:26Z</updated-at>
19
+ <user-id type="integer">67916</user-id>
20
+ <user-name>Kia Kroas</user-name>
21
+ <creator-name>Kia Kroas</creator-name>
22
+ <url>http://ticketmaster.lighthouseapp.com/projects/54448/tickets/12</url>
23
+ <original-body>Body</original-body>
24
+ <latest-body>Body</latest-body>
25
+ <original-body-html>&lt;div&gt;&lt;p&gt;Body&lt;/p&gt;&lt;/div&gt;</original-body-html>
26
+ </ticket>
@@ -0,0 +1,71 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe "Ticketmaster::Provider::Lighthouse::Project" do
4
+ before(:all) do
5
+ headers = {'X-LighthouseToken' => '000000'}
6
+ wheaders = headers.merge('Content-Type' => 'application/xml')
7
+ @project_id = 54448
8
+ ActiveResource::HttpMock.respond_to do |mock|
9
+ mock.get '/projects.xml', headers, fixture_for('projects'), 200
10
+ mock.get '/projects/54448.xml', headers, fixture_for('projects/54448'), 200
11
+ mock.get '/projects/create.xml', headers, fixture_for('projects/create'), 200
12
+ mock.delete '/projects/54448.xml', headers, '', 200
13
+ mock.put '/projects/54448.xml', wheaders, '', 200
14
+ mock.post '/projects.xml', wheaders, '', 201, 'Location' => '/projects/create.xml'
15
+ mock.get '/projects/54448/tickets.xml', headers, fixture_for('tickets'), 200
16
+ end
17
+ end
18
+
19
+ before(:each) do
20
+ @ticketmaster = TicketMaster.new(:lighthouse, :token => '000000', :account => 'ticketmaster')
21
+ @klass = TicketMaster::Provider::Lighthouse::Project
22
+ end
23
+
24
+ it "should be able to load all projects" do
25
+ @ticketmaster.projects.should be_an_instance_of Array
26
+ @ticketmaster.projects.first.should be_an_instance_of @klass
27
+ end
28
+
29
+ it "should be able to load projects from an array of ids" do
30
+ @projects = @ticketmaster.projects([@project_id])
31
+ @projects.should be_an_instance_of Array
32
+ @projects.first.should be_an_instance_of @klass
33
+ @projects.first.id.should == @project_id
34
+ end
35
+
36
+ it "should be able to load all projects from attributes" do
37
+ @projects = @ticketmaster.projects(:id => @project_id)
38
+ @projects.should be_an_instance_of Array
39
+ @projects.first.should be_an_instance_of @klass
40
+ @projects.first.id.should == @project_id
41
+ end
42
+
43
+ it "should be able to find a project" do
44
+ @ticketmaster.project.should == @klass
45
+ @ticketmaster.project.find(@project_id).should be_an_instance_of @klass
46
+ end
47
+
48
+ it "should be able to find a project by id" do
49
+ @ticketmaster.project(@project_id).should be_an_instance_of @klass
50
+ @ticketmaster.project(@project_id).id.should == @project_id
51
+ end
52
+
53
+ it "should be able to find a project by attributes" do
54
+ @ticketmaster.project(:id => @project_id).id.should == @project_id
55
+ @ticketmaster.project(:id => @project_id).should be_an_instance_of @klass
56
+ end
57
+
58
+ it "should be able to update and save a project" do
59
+ @project = @ticketmaster.project(@project_id)
60
+ @project.save.should == nil
61
+ @project.update!(:name => 'some new name').should == true
62
+ @project.name = 'this is a change'
63
+ @project.save.should == true
64
+ end
65
+
66
+ it "should be able to create a project" do
67
+ @project = @ticketmaster.project.create(:name => 'Project #1')
68
+ @project.should be_an_instance_of @klass
69
+ end
70
+
71
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,10 +1,16 @@
1
1
  $LOAD_PATH.unshift(File.dirname(__FILE__))
2
2
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
3
- require '../ticketmaster/lib/ticketmaster'
3
+ require 'rubygems'
4
+ require 'ticketmaster'
4
5
  require 'ticketmaster-lighthouse'
6
+ require 'active_resource/http_mock'
5
7
  require 'spec'
6
8
  require 'spec/autorun'
7
9
 
8
10
  Spec::Runner.configure do |config|
9
11
 
10
12
  end
13
+
14
+ def fixture_for(name)
15
+ File.read(File.dirname(__FILE__) + '/fixtures/' + name + '.xml')
16
+ end
@@ -1,62 +1,11 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
2
 
3
- describe "Ticketmaster" do
4
- before(:each) do
5
- @ticketmaster = TicketMaster.new(:lighthouse, :token => '00c00123b00f00dc0de', :account => 'ticketmaster')
6
- @project_class = TicketMaster::Provider::Lighthouse::Project
7
- @ticket_class = TicketMaster::Provider::Lighthouse::Ticket
8
- @lh_project = LighthouseAPI::Project.new
9
- @lh_project.attributes = {"permalink"=>"lh-test", "name"=>"lh-test", "created_at"=>Time.now, "description_html"=>"<div><p>This is a test project created in order to test the\nticketmaster-lighthouse gem.</p></div>", "closed_states_list"=>"resolved,hold,invalid", "public"=>true, "default_ticket_text"=>nil, "license"=>nil, "default_milestone_id"=>nil, "closed_states"=>"resolved/6A0 # You can customize colors\nhold/EB0 # with 3 or 6 character hex codes\ninvalid/A30 # 'A30' expands to 'AA3300'", "updated_at"=>Time.now, "archived"=>false, "send_changesets_to_events"=>true, "open_states_list"=>"new,open", "open_tickets_count"=>2, "id"=>54448, "default_assigned_user_id"=>nil, "description"=>"This is a test project created in order to test the ticketmaster-lighthouse gem.", "open_states"=>"new/f17 # You can add comments here\nopen/aaa # if you want to.", "hidden"=>false}
10
- @lh_project.prefix_options = {}
11
-
12
- end
3
+ describe "Ticketmaster::Provider::Lighthouse" do
13
4
 
14
- # Essentially just a sanity check on the include since .new always returns the object's instance
15
5
  it "should be able to instantiate a new instance" do
6
+ @ticketmaster = TicketMaster.new(:lighthouse, {:account => 'ticketmaster', :token => '000000'})
16
7
  @ticketmaster.should be_an_instance_of TicketMaster
17
8
  @ticketmaster.should be_a_kind_of TicketMaster::Provider::Lighthouse
18
9
  end
19
10
 
20
- it "should be able to load projects" do
21
- LighthouseAPI::Project.should_receive(:find).with(:all).at_least(:once).and_return([@lh_project])
22
- @ticketmaster.projects.should be_an_instance_of Array
23
- @ticketmaster.projects.first.should be_an_instance_of @project_class
24
- @ticketmaster.projects.first.description.should == @lh_project.attributes['description']
25
- @ticketmaster.projects(:id => 54448).should be_an_instance_of Array
26
- @ticketmaster.projects(:id => 54448).first.should be_an_instance_of @project_class
27
- @ticketmaster.projects(:id => 54448).first.id.should == 54448
28
-
29
- @ticketmaster.project.should == @project_class
30
- @ticketmaster.project(:name => "lh-test").should be_an_instance_of @project_class
31
- @ticketmaster.project(:name => "lh-test").name.should == "lh-test"
32
- @ticketmaster.project.find(:first, :description => @lh_project.attributes['description']).should be_an_instance_of @project_class
33
- @ticketmaster.project.find(:first, :description => @lh_project.attributes['description']).description.should == @lh_project.attributes['description']
34
- end
35
-
36
- it "should be able to do project stuff" do
37
- info = {:name => 'Test create'}
38
- LighthouseAPI::Project.should_receive(:new).at_least(:once).and_return(@lh_project)
39
- @lh_project.should_receive(:save).at_least(:once).and_return(true)
40
- @ticketmaster.project.create(info).should be_an_instance_of @project_class
41
- @ticketmaster.project.new(info).should be_an_instance_of @project_class
42
- @ticketmaster.project.create(info).id.should == 54448
43
- end
44
-
45
- it "should be able to load tickets" do
46
- LighthouseAPI::Project.should_receive(:find).with(:all).at_least(:once).and_return([@lh_project])
47
- LighthouseAPI::Ticket.should_receive(:find).with(:all, :params => {:project_id => 54448}).at_least(:once).and_return([LighthouseAPI::Ticket.new])
48
- LighthouseAPI::Ticket.should_receive(:find).with(999, :params => {:project_id => 54448}).at_least(:once).and_return(LighthouseAPI::Ticket.new(:id => 999))
49
- LighthouseAPI::Ticket.should_receive(:find).with(:all, :params => {:project_id => 54448, :id => 888}).at_least(:once).and_return([LighthouseAPI::Ticket.new(:id => 888)])
50
- project = @ticketmaster.projects.first
51
- project.tickets.should be_an_instance_of Array
52
- project.tickets.first.should be_an_instance_of @ticket_class
53
- project.tickets(999).should be_an_instance_of Array
54
- project.tickets(999).first.should be_an_instance_of @ticket_class
55
- project.tickets(999).first.id.should == 999
56
-
57
- project.ticket.should == TicketMaster::Provider::Lighthouse::Ticket
58
- project.ticket(999).should be_an_instance_of @ticket_class
59
- project.ticket(999).id.should == 999
60
- project.ticket.find(:first, :project_id => 54448, :id => 888).should be_an_instance_of @ticket_class
61
- end
62
11
  end
@@ -0,0 +1,70 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe "Ticketmaster::Provider::Lighthouse::Ticket" do
4
+ before(:all) do
5
+ headers = {'X-LighthouseToken' => '000000'}
6
+ wheaders = headers.merge('Content-Type' => 'application/xml')
7
+ ActiveResource::HttpMock.respond_to do |mock|
8
+ mock.get '/projects/54448.xml', headers, fixture_for('projects/54448'), 200
9
+ mock.get '/projects/54448/tickets.xml', headers, fixture_for('tickets'), 200
10
+ mock.get '/projects/54448/tickets/5.xml', headers, fixture_for('tickets/5'), 200
11
+ mock.put '/projects/54448/tickets/5.xml', wheaders, '', 200
12
+ mock.post '/projects/54448/tickets.xml', wheaders, fixture_for('tickets/create'), 200
13
+ end
14
+ @project_id = 54448
15
+ end
16
+
17
+ before(:each) do
18
+ @ticketmaster = TicketMaster.new(:lighthouse, :account => 'ticketmaster', :token => '000000')
19
+ @project = @ticketmaster.project(@project_id)
20
+ @klass = TicketMaster::Provider::Lighthouse::Ticket
21
+ end
22
+
23
+ it "should be able to load all tickets" do
24
+ @project.tickets.should be_an_instance_of Array
25
+ @project.tickets.first.should be_an_instance_of @klass
26
+ end
27
+
28
+ it "should be able to load all tickets based on an array of ids" do
29
+ @tickets = @project.tickets([5])
30
+ @tickets.should be_an_instance_of Array
31
+ @tickets.first.should be_an_instance_of @klass
32
+ @tickets.first.id.should == 5
33
+ end
34
+
35
+ it "should be able to load all tickets based on attributes" do
36
+ @tickets = @project.tickets(:id => 5)
37
+ @tickets.should be_an_instance_of Array
38
+ @tickets.first.should be_an_instance_of @klass
39
+ @tickets.first.id.should == 5
40
+ end
41
+
42
+ it "should return the ticket class" do
43
+ @project.ticket.should == @klass
44
+ end
45
+
46
+ it "should be able to load a single ticket" do
47
+ @ticket = @project.ticket(5)
48
+ @ticket.should be_an_instance_of @klass
49
+ @ticket.id.should == 5
50
+ end
51
+
52
+ it "should be able to load a single ticket based on attributes" do
53
+ @ticket = @project.ticket(:id => 5)
54
+ @ticket.should be_an_instance_of @klass
55
+ @ticket.id.should == 5
56
+ end
57
+
58
+ it "should be able to update and save a ticket" do
59
+ @ticket = @project.ticket(5)
60
+ @ticket.save.should == nil
61
+ @ticket.description = 'hello'
62
+ @ticket.save.should == true
63
+ end
64
+
65
+ it "should be able to create a ticket" do
66
+ @ticket = @project.ticket!(:title => 'Ticket #12', :description => 'Body')
67
+ @ticket.should be_an_instance_of @klass
68
+ end
69
+
70
+ end
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{ticketmaster-lighthouse}
8
- s.version = "0.3.5"
8
+ s.version = "0.3.6"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Hong"]
12
- s.date = %q{2010-07-06}
12
+ s.date = %q{2010-07-07}
13
13
  s.description = %q{Allows ticketmaster to interact with Lighthouse's issue tracking system.}
14
14
  s.email = %q{hong.quach@abigfisch.com}
15
15
  s.extra_rdoc_files = [
@@ -31,9 +31,19 @@ Gem::Specification.new do |s|
31
31
  "lib/provider/project.rb",
32
32
  "lib/provider/ticket.rb",
33
33
  "lib/ticketmaster-lighthouse.rb",
34
+ "spec/comments_spec.rb",
35
+ "spec/fixtures/projects.xml",
36
+ "spec/fixtures/projects/54448.xml",
37
+ "spec/fixtures/projects/create.xml",
38
+ "spec/fixtures/tickets.xml",
39
+ "spec/fixtures/tickets/2.xml",
40
+ "spec/fixtures/tickets/5.xml",
41
+ "spec/fixtures/tickets/create.xml",
42
+ "spec/projects_spec.rb",
34
43
  "spec/spec.opts",
35
44
  "spec/spec_helper.rb",
36
45
  "spec/ticketmaster-lighthouse_spec.rb",
46
+ "spec/tickets_spec.rb",
37
47
  "ticketmaster-lighthouse.gemspec"
38
48
  ]
39
49
  s.homepage = %q{http://github.com/kiafaldorius/ticketmaster-lighthouse}
@@ -42,8 +52,11 @@ Gem::Specification.new do |s|
42
52
  s.rubygems_version = %q{1.3.7}
43
53
  s.summary = %q{Ticketmaster Provider for Lighthouse}
44
54
  s.test_files = [
45
- "spec/spec_helper.rb",
46
- "spec/ticketmaster-lighthouse_spec.rb"
55
+ "spec/comments_spec.rb",
56
+ "spec/projects_spec.rb",
57
+ "spec/spec_helper.rb",
58
+ "spec/ticketmaster-lighthouse_spec.rb",
59
+ "spec/tickets_spec.rb"
47
60
  ]
48
61
 
49
62
  if s.respond_to? :specification_version then
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ticketmaster-lighthouse
3
3
  version: !ruby/object:Gem::Version
4
- hash: 25
4
+ hash: 31
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 3
9
- - 5
10
- version: 0.3.5
9
+ - 6
10
+ version: 0.3.6
11
11
  platform: ruby
12
12
  authors:
13
13
  - Hong
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-07-06 00:00:00 -07:00
18
+ date: 2010-07-07 00:00:00 -07:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -122,9 +122,19 @@ files:
122
122
  - lib/provider/project.rb
123
123
  - lib/provider/ticket.rb
124
124
  - lib/ticketmaster-lighthouse.rb
125
+ - spec/comments_spec.rb
126
+ - spec/fixtures/projects.xml
127
+ - spec/fixtures/projects/54448.xml
128
+ - spec/fixtures/projects/create.xml
129
+ - spec/fixtures/tickets.xml
130
+ - spec/fixtures/tickets/2.xml
131
+ - spec/fixtures/tickets/5.xml
132
+ - spec/fixtures/tickets/create.xml
133
+ - spec/projects_spec.rb
125
134
  - spec/spec.opts
126
135
  - spec/spec_helper.rb
127
136
  - spec/ticketmaster-lighthouse_spec.rb
137
+ - spec/tickets_spec.rb
128
138
  - ticketmaster-lighthouse.gemspec
129
139
  has_rdoc: true
130
140
  homepage: http://github.com/kiafaldorius/ticketmaster-lighthouse
@@ -161,5 +171,8 @@ signing_key:
161
171
  specification_version: 3
162
172
  summary: Ticketmaster Provider for Lighthouse
163
173
  test_files:
174
+ - spec/comments_spec.rb
175
+ - spec/projects_spec.rb
164
176
  - spec/spec_helper.rb
165
177
  - spec/ticketmaster-lighthouse_spec.rb
178
+ - spec/tickets_spec.rb