KayakoClient 1.0.2 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/kayako_client.rb +31 -0
- data/lib/kayako_client/base.rb +23 -0
- data/lib/kayako_client/custom_field.rb +14 -0
- data/lib/kayako_client/department.rb +18 -3
- data/lib/kayako_client/http/http.rb +14 -0
- data/lib/kayako_client/http/http_backend.rb +14 -0
- data/lib/kayako_client/http/http_client.rb +14 -0
- data/lib/kayako_client/http/http_response.rb +14 -0
- data/lib/kayako_client/http/net_http.rb +14 -0
- data/lib/kayako_client/knowledgebase_article.rb +131 -0
- data/lib/kayako_client/knowledgebase_attachment.rb +59 -0
- data/lib/kayako_client/knowledgebase_category.rb +71 -0
- data/lib/kayako_client/knowledgebase_comment.rb +32 -0
- data/lib/kayako_client/mixins/api.rb +14 -0
- data/lib/kayako_client/mixins/article_client.rb +76 -0
- data/lib/kayako_client/mixins/attachment.rb +16 -1
- data/lib/kayako_client/mixins/authentication.rb +14 -0
- data/lib/kayako_client/mixins/client.rb +300 -0
- data/lib/kayako_client/mixins/comment_object.rb +102 -0
- data/lib/kayako_client/mixins/convert_api.rb +39 -0
- data/lib/kayako_client/mixins/creator_api.rb +44 -0
- data/lib/kayako_client/mixins/knowledgebase_article_api.rb +69 -0
- data/lib/kayako_client/mixins/knowledgebase_category_client.rb +51 -0
- data/lib/kayako_client/mixins/logger.rb +14 -0
- data/lib/kayako_client/mixins/news_category_client.rb +51 -0
- data/lib/kayako_client/mixins/news_client.rb +51 -0
- data/lib/kayako_client/mixins/object.rb +24 -7
- data/lib/kayako_client/mixins/post_client.rb +14 -0
- data/lib/kayako_client/mixins/staff_visibility_api.rb +14 -0
- data/lib/kayako_client/mixins/ticket_api.rb +14 -0
- data/lib/kayako_client/mixins/ticket_client.rb +14 -0
- data/lib/kayako_client/mixins/troubleshooter_step_api.rb +69 -0
- data/lib/kayako_client/mixins/troubleshooter_step_client.rb +76 -0
- data/lib/kayako_client/mixins/user_visibility_api.rb +14 -0
- data/lib/kayako_client/news_category.rb +29 -0
- data/lib/kayako_client/news_comment.rb +32 -0
- data/lib/kayako_client/news_item.rb +81 -0
- data/lib/kayako_client/news_subscriber.rb +33 -0
- data/lib/kayako_client/staff.rb +14 -0
- data/lib/kayako_client/staff_group.rb +14 -0
- data/lib/kayako_client/ticket.rb +24 -1
- data/lib/kayako_client/ticket_attachment.rb +18 -0
- data/lib/kayako_client/ticket_count.rb +14 -0
- data/lib/kayako_client/ticket_custom_field.rb +14 -0
- data/lib/kayako_client/ticket_note.rb +14 -1
- data/lib/kayako_client/ticket_post.rb +15 -0
- data/lib/kayako_client/ticket_priority.rb +14 -0
- data/lib/kayako_client/ticket_status.rb +14 -0
- data/lib/kayako_client/ticket_time_track.rb +14 -0
- data/lib/kayako_client/ticket_type.rb +14 -0
- data/lib/kayako_client/troubleshooter_attachment.rb +68 -0
- data/lib/kayako_client/troubleshooter_category.rb +51 -0
- data/lib/kayako_client/troubleshooter_comment.rb +32 -0
- data/lib/kayako_client/troubleshooter_step.rb +100 -0
- data/lib/kayako_client/user.rb +42 -0
- data/lib/kayako_client/user_group.rb +14 -0
- data/lib/kayako_client/user_organization.rb +14 -0
- data/lib/kayako_client/xml/lib_xml.rb +14 -0
- data/lib/kayako_client/xml/rexml_document.rb +14 -0
- data/lib/kayako_client/xml/xml.rb +14 -0
- data/lib/kayako_client/xml/xml_backend.rb +14 -0
- data/test/test_attachment.rb +77 -0
- data/test/test_client.rb +191 -0
- data/test/test_configuration.rb +110 -0
- data/test/test_count.rb +162 -0
- data/test/test_custom_field.rb +86 -0
- data/test/test_department.rb +136 -0
- data/test/test_http.rb +34 -0
- data/test/test_knowledgebase.rb +155 -0
- data/test/test_news.rb +117 -0
- data/test/test_note.rb +64 -0
- data/test/test_post.rb +64 -0
- data/test/test_priority.rb +46 -0
- data/test/test_properties.rb +114 -0
- data/test/test_staff.rb +77 -0
- data/test/test_status.rb +52 -0
- data/test/test_ticket.rb +152 -0
- data/test/test_ticket_custom_field.rb +193 -0
- data/test/test_time_track.rb +68 -0
- data/test/test_troubleshooter.rb +106 -0
- data/test/test_type.rb +65 -0
- data/test/test_user.rb +95 -0
- data/test/test_xml.rb +183 -0
- metadata +89 -42
data/test/test_status.rb
ADDED
@@ -0,0 +1,52 @@
|
|
1
|
+
#######################################################################
|
2
|
+
#
|
3
|
+
# Kayako Ruby REST API library
|
4
|
+
# _____________________________________________________________________
|
5
|
+
#
|
6
|
+
# @author Andriy Lesyuk
|
7
|
+
#
|
8
|
+
# @package KayakoClient
|
9
|
+
# @copyright Copyright (c) 2011-2013, Kayako
|
10
|
+
# @license FreeBSD
|
11
|
+
# @link http://forge.kayako.com/projects/kayako-ruby-api-library
|
12
|
+
#
|
13
|
+
#######################################################################
|
14
|
+
|
15
|
+
require 'test/unit'
|
16
|
+
require 'kayako_client'
|
17
|
+
|
18
|
+
class TestStatus < Test::Unit::TestCase
|
19
|
+
|
20
|
+
def test_status_methods
|
21
|
+
test = KayakoClient::TicketStatus.new
|
22
|
+
|
23
|
+
assert_raise NotImplementedError do
|
24
|
+
test.put
|
25
|
+
end
|
26
|
+
|
27
|
+
assert_raise NotImplementedError do
|
28
|
+
test.post
|
29
|
+
end
|
30
|
+
|
31
|
+
assert_raise NotImplementedError do
|
32
|
+
test.delete
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_status_constants
|
37
|
+
assert KayakoClient::TicketStatus::STATUS_TYPES.include?(:public)
|
38
|
+
assert KayakoClient::TicketStatus::STATUS_TYPES.include?(:private)
|
39
|
+
end
|
40
|
+
|
41
|
+
def test_status_customs
|
42
|
+
test = KayakoClient::TicketStatus.new(
|
43
|
+
:staffvisibilitycustom => true,
|
44
|
+
:staffgroupid => [ 1, 2 ]
|
45
|
+
)
|
46
|
+
|
47
|
+
assert test.respond_to?(:visible_to_staff_group?)
|
48
|
+
assert test.visible_to_staff_group?(1)
|
49
|
+
assert !test.visible_to_staff_group?(3)
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
data/test/test_ticket.rb
ADDED
@@ -0,0 +1,152 @@
|
|
1
|
+
#######################################################################
|
2
|
+
#
|
3
|
+
# Kayako Ruby REST API library
|
4
|
+
# _____________________________________________________________________
|
5
|
+
#
|
6
|
+
# @author Andriy Lesyuk
|
7
|
+
#
|
8
|
+
# @package KayakoClient
|
9
|
+
# @copyright Copyright (c) 2011-2013, Kayako
|
10
|
+
# @license FreeBSD
|
11
|
+
# @link http://forge.kayako.com/projects/kayako-ruby-api-library
|
12
|
+
#
|
13
|
+
#######################################################################
|
14
|
+
|
15
|
+
require 'test/unit'
|
16
|
+
require 'kayako_client'
|
17
|
+
|
18
|
+
class TestTicket < Test::Unit::TestCase
|
19
|
+
|
20
|
+
def test_ticket_readonly
|
21
|
+
test = KayakoClient::Ticket.new(
|
22
|
+
:contents => 'Test',
|
23
|
+
:auto_user_id => true,
|
24
|
+
:type => :default
|
25
|
+
)
|
26
|
+
|
27
|
+
assert_raise NoMethodError do
|
28
|
+
test.display_id = 'OLJ-171-16930'
|
29
|
+
end
|
30
|
+
|
31
|
+
assert_raise NoMethodError do
|
32
|
+
test.creation_time = Time.new
|
33
|
+
end
|
34
|
+
|
35
|
+
assert_nothing_raised do
|
36
|
+
test.contents = 'Test'
|
37
|
+
test.auto_user_id = true
|
38
|
+
test.type = :default
|
39
|
+
end
|
40
|
+
|
41
|
+
test.loaded!
|
42
|
+
assert_raise ArgumentError do
|
43
|
+
test.contents = 'Test'
|
44
|
+
test.auto_user_id = true
|
45
|
+
test.type = :default
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
def test_ticket_constants
|
50
|
+
assert_nothing_raised do
|
51
|
+
test = KayakoClient::Ticket::FLAG_NONE
|
52
|
+
test = KayakoClient::Ticket::FLAG_ORANGE
|
53
|
+
test = KayakoClient::Ticket::FLAG_BLUE
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def test_ticket_verification
|
58
|
+
test = KayakoClient::Ticket.new(
|
59
|
+
:department_id => 1,
|
60
|
+
:status_id => 1,
|
61
|
+
:priority_id => 1,
|
62
|
+
:type_id => 1,
|
63
|
+
:full_name => 'Test Tester',
|
64
|
+
:email => 'test@test.com',
|
65
|
+
:subject => 'Test',
|
66
|
+
:contents => 'Test'
|
67
|
+
)
|
68
|
+
|
69
|
+
assert_raise ArgumentError do
|
70
|
+
test.post
|
71
|
+
end
|
72
|
+
|
73
|
+
test.user_id = 1
|
74
|
+
test.type = :test
|
75
|
+
|
76
|
+
assert test.post == false
|
77
|
+
assert test.has_errors?
|
78
|
+
end
|
79
|
+
|
80
|
+
def test_ticket_embedded
|
81
|
+
test = KayakoClient::Ticket.new(
|
82
|
+
:work_flow => {
|
83
|
+
:id => 1,
|
84
|
+
:title => 'Test'
|
85
|
+
},
|
86
|
+
:watcher => {
|
87
|
+
:staff_id => 1,
|
88
|
+
:name => 'Test'
|
89
|
+
}
|
90
|
+
)
|
91
|
+
|
92
|
+
assert_instance_of KayakoClient::TicketWorkflow, test.work_flow
|
93
|
+
assert_instance_of Array, test.watcher
|
94
|
+
assert_instance_of KayakoClient::TicketWatcher, test.watcher.first
|
95
|
+
|
96
|
+
assert_equal test.work_flow.title, 'Test'
|
97
|
+
assert_equal test.watcher.first.name, 'Test'
|
98
|
+
end
|
99
|
+
|
100
|
+
def test_ticket_assign
|
101
|
+
test = KayakoClient::Ticket.new(
|
102
|
+
:id => '1',
|
103
|
+
:creation_time => '1310922585',
|
104
|
+
:is_escalated => '0'
|
105
|
+
)
|
106
|
+
|
107
|
+
assert_equal test.id, 1
|
108
|
+
assert_instance_of Time, test.creation_time
|
109
|
+
assert_equal test.creation_time.to_i, 1310922585
|
110
|
+
assert_instance_of FalseClass, test.is_escalated
|
111
|
+
assert test.is_escalated == false
|
112
|
+
end
|
113
|
+
|
114
|
+
def test_ticket_search
|
115
|
+
assert KayakoClient::Ticket.respond_to?(:search)
|
116
|
+
|
117
|
+
assert_equal 0x07FF,
|
118
|
+
KayakoClient::Ticket::SEARCH_TICKET_ID |
|
119
|
+
KayakoClient::Ticket::SEARCH_CONTENTS |
|
120
|
+
KayakoClient::Ticket::SEARCH_AUTHOR |
|
121
|
+
KayakoClient::Ticket::SEARCH_EMAIL |
|
122
|
+
KayakoClient::Ticket::SEARCH_CREATOR_EMAIL |
|
123
|
+
KayakoClient::Ticket::SEARCH_FULL_NAME |
|
124
|
+
KayakoClient::Ticket::SEARCH_NOTES |
|
125
|
+
KayakoClient::Ticket::SEARCH_USER_GROUP |
|
126
|
+
KayakoClient::Ticket::SEARCH_USER_ORGANIZATION |
|
127
|
+
KayakoClient::Ticket::SEARCH_USER |
|
128
|
+
KayakoClient::Ticket::SEARCH_TAGS
|
129
|
+
|
130
|
+
end
|
131
|
+
|
132
|
+
def test_template_group
|
133
|
+
test = KayakoClient::Ticket.new(
|
134
|
+
:department_id => 1,
|
135
|
+
:status_id => 1,
|
136
|
+
:priority_id => 1,
|
137
|
+
:type_id => 1,
|
138
|
+
:full_name => 'Test Tester',
|
139
|
+
:email => 'test@test.com',
|
140
|
+
:subject => 'Test',
|
141
|
+
:contents => 'Test',
|
142
|
+
:staff_id => 1,
|
143
|
+
:template_group_id => 1,
|
144
|
+
:template_group_name => 'default'
|
145
|
+
)
|
146
|
+
|
147
|
+
assert_raise ArgumentError do
|
148
|
+
test.post
|
149
|
+
end
|
150
|
+
end
|
151
|
+
|
152
|
+
end
|
@@ -0,0 +1,193 @@
|
|
1
|
+
#######################################################################
|
2
|
+
#
|
3
|
+
# Kayako Ruby REST API library
|
4
|
+
# _____________________________________________________________________
|
5
|
+
#
|
6
|
+
# @author Andriy Lesyuk
|
7
|
+
#
|
8
|
+
# @package KayakoClient
|
9
|
+
# @copyright Copyright (c) 2011-2013, Kayako
|
10
|
+
# @license FreeBSD
|
11
|
+
# @link http://forge.kayako.com/projects/kayako-ruby-api-library
|
12
|
+
#
|
13
|
+
#######################################################################
|
14
|
+
|
15
|
+
require 'test/unit'
|
16
|
+
require 'kayako_client'
|
17
|
+
|
18
|
+
class TestTicketCustomField < Test::Unit::TestCase
|
19
|
+
|
20
|
+
def test_ticket_custom_field_embedded
|
21
|
+
test = KayakoClient::TicketCustomField.new(
|
22
|
+
:group => {
|
23
|
+
:id => 1,
|
24
|
+
:title => 'Test',
|
25
|
+
:fields => [ {
|
26
|
+
:id => 1,
|
27
|
+
:type => KayakoClient::CustomField::TYPE_TEXT,
|
28
|
+
:title => 'Text',
|
29
|
+
:contents => 'Test'
|
30
|
+
}, {
|
31
|
+
:id => 2,
|
32
|
+
:type => KayakoClient::CustomField::TYPE_TEXT_AREA,
|
33
|
+
:title => 'Text area',
|
34
|
+
:contents => 'Test'
|
35
|
+
}, {
|
36
|
+
:id => 3,
|
37
|
+
:type => KayakoClient::CustomField::TYPE_PASSWORD,
|
38
|
+
:title => 'Password',
|
39
|
+
:contents => 'Test'
|
40
|
+
}, {
|
41
|
+
:id => 4,
|
42
|
+
:type => KayakoClient::CustomField::TYPE_CHECKBOX,
|
43
|
+
:title => 'Checkbox',
|
44
|
+
:contents => 'Test'
|
45
|
+
}, {
|
46
|
+
:id => 5,
|
47
|
+
:type => KayakoClient::CustomField::TYPE_RADIO,
|
48
|
+
:title => 'Radio',
|
49
|
+
:contents => 'Test'
|
50
|
+
}, {
|
51
|
+
:id => 6,
|
52
|
+
:type => KayakoClient::CustomField::TYPE_SELECT,
|
53
|
+
:title => 'Select',
|
54
|
+
:contents => 'Test'
|
55
|
+
}, {
|
56
|
+
:id => 7,
|
57
|
+
:type => KayakoClient::CustomField::TYPE_MULTI_SELECT,
|
58
|
+
:title => 'Multiselect',
|
59
|
+
:contents => 'Test, Item'
|
60
|
+
}, {
|
61
|
+
:id => 8,
|
62
|
+
:type => KayakoClient::CustomField::TYPE_CUSTOM,
|
63
|
+
:title => 'Custom',
|
64
|
+
:contents => 'Test'
|
65
|
+
}, {
|
66
|
+
:id => 9,
|
67
|
+
:type => KayakoClient::CustomField::TYPE_LINKED_SELECT,
|
68
|
+
:title => 'Linked select',
|
69
|
+
:contents => 'Test > Test'
|
70
|
+
}, {
|
71
|
+
:id => 10,
|
72
|
+
:type => KayakoClient::CustomField::TYPE_DATE,
|
73
|
+
:title => 'Date',
|
74
|
+
:contents => 'May/24/2011'
|
75
|
+
}, {
|
76
|
+
:id => 11,
|
77
|
+
:type => KayakoClient::CustomField::TYPE_FILE,
|
78
|
+
:title => 'File',
|
79
|
+
:filename => 'test.txt',
|
80
|
+
:contents => 'VTI5dFpTQjBaWE4wSUhOMGNtbHVaeTQ9' # Some test string
|
81
|
+
} ]
|
82
|
+
}
|
83
|
+
)
|
84
|
+
|
85
|
+
assert_instance_of Array, test.groups
|
86
|
+
assert_instance_of KayakoClient::TicketCustomFieldGroup, test.groups.first
|
87
|
+
assert_equal test.groups.size, 1
|
88
|
+
|
89
|
+
assert_equal test.groups.first.id, 1
|
90
|
+
assert_equal test.groups.first.title, 'Test'
|
91
|
+
|
92
|
+
assert_instance_of Array, test.groups.first.fields
|
93
|
+
assert_instance_of KayakoClient::TicketCustomFieldValue, test.groups.first.fields.first
|
94
|
+
assert_equal test.groups.first.fields.size, 11
|
95
|
+
|
96
|
+
assert_equal test.groups.first.fields.first.id, 1
|
97
|
+
assert_equal test.groups.first.fields.first.type, KayakoClient::CustomField::TYPE_TEXT
|
98
|
+
assert_equal test.groups.first.fields.first.title, 'Text'
|
99
|
+
assert_nil test.groups.first.fields.first.file_name
|
100
|
+
assert_equal test.groups.first.fields.first.contents, 'Test'
|
101
|
+
|
102
|
+
assert_instance_of Time, test.groups.first.fields[9].contents
|
103
|
+
assert_equal test.groups.first.fields[9].contents.strftime('%m/%d/%Y'), '05/24/2011'
|
104
|
+
|
105
|
+
assert_equal test.groups.first.fields.last.file_name, 'test.txt'
|
106
|
+
assert_equal test.groups.first.fields.last.contents, 'Some test string.'
|
107
|
+
end
|
108
|
+
|
109
|
+
def test_ticket_custom_field_file
|
110
|
+
test = KayakoClient::TicketCustomFieldValue.new(
|
111
|
+
:id => 11,
|
112
|
+
:type => KayakoClient::CustomField::TYPE_FILE,
|
113
|
+
:title => 'File',
|
114
|
+
:filename => 'test.txt',
|
115
|
+
:contents => 'VTI5dFpTQjBaWE4wSUhOMGNtbHVaeTQ9' # Some test string.
|
116
|
+
)
|
117
|
+
test.loaded!
|
118
|
+
assert_instance_of Tempfile, test.file
|
119
|
+
assert_equal test.file.read, 'Some test string.'
|
120
|
+
end
|
121
|
+
|
122
|
+
def test_ticket_custom_field_customs
|
123
|
+
test = KayakoClient::TicketCustomField.new
|
124
|
+
|
125
|
+
assert test.respond_to?(:empty?)
|
126
|
+
assert test.empty?
|
127
|
+
|
128
|
+
test = KayakoClient::TicketCustomField.new(
|
129
|
+
:group => {
|
130
|
+
:id => 1,
|
131
|
+
:title => 'Test',
|
132
|
+
:fields => [ {
|
133
|
+
:id => 4,
|
134
|
+
:type => KayakoClient::CustomField::TYPE_CHECKBOX,
|
135
|
+
:title => 'Checkbox',
|
136
|
+
:contents => 'Test'
|
137
|
+
}, {
|
138
|
+
:id => 9,
|
139
|
+
:type => KayakoClient::CustomField::TYPE_LINKED_SELECT,
|
140
|
+
:title => 'Linked select',
|
141
|
+
:contents => 'Test > Test'
|
142
|
+
} ]
|
143
|
+
}
|
144
|
+
)
|
145
|
+
|
146
|
+
assert_equal test.custom_field(4), 'Test'
|
147
|
+
assert_equal test.custom_field('Linked select'), 'Test > Test'
|
148
|
+
assert_nil test.custom_field('Does not exist')
|
149
|
+
|
150
|
+
assert_equal test[9], 'Test > Test'
|
151
|
+
assert_equal test['Checkbox'], 'Test'
|
152
|
+
assert_nil test[20]
|
153
|
+
|
154
|
+
assert_instance_of Array, test['groups']
|
155
|
+
assert_instance_of Array, test[:groups]
|
156
|
+
|
157
|
+
assert test.respond_to?(:each)
|
158
|
+
end
|
159
|
+
|
160
|
+
def test_4_40_954
|
161
|
+
test = KayakoClient::TicketCustomFieldValue.new
|
162
|
+
|
163
|
+
assert_raise NoMethodError do
|
164
|
+
test.id = 1
|
165
|
+
end
|
166
|
+
|
167
|
+
test.contents = 'Test'
|
168
|
+
assert_equal test.contents, 'Test'
|
169
|
+
|
170
|
+
assert KayakoClient::TicketCustomField.support?(:post)
|
171
|
+
|
172
|
+
test = KayakoClient::TicketCustomField.new(:ticket_id => 1,
|
173
|
+
'l8bo9bitv8s0' => 'Test')
|
174
|
+
|
175
|
+
assert test.respond_to?(:ticket_id)
|
176
|
+
assert test.respond_to?(:ticket_id=)
|
177
|
+
|
178
|
+
assert_equal test.ticket_id, 1
|
179
|
+
assert_equal test['l8bo9bitv8s0'], 'Test'
|
180
|
+
assert_equal test.custom_field('l8bo9bitv8s0'), 'Test'
|
181
|
+
|
182
|
+
assert !test.empty?
|
183
|
+
|
184
|
+
test['qgwj1d0r0qhc'] = 'Name'
|
185
|
+
|
186
|
+
test = KayakoClient::TicketCustomField.new
|
187
|
+
|
188
|
+
assert_raise RuntimeError do
|
189
|
+
test.post
|
190
|
+
end
|
191
|
+
end
|
192
|
+
|
193
|
+
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
#######################################################################
|
2
|
+
#
|
3
|
+
# Kayako Ruby REST API library
|
4
|
+
# _____________________________________________________________________
|
5
|
+
#
|
6
|
+
# @author Andriy Lesyuk
|
7
|
+
#
|
8
|
+
# @package KayakoClient
|
9
|
+
# @copyright Copyright (c) 2011-2013, Kayako
|
10
|
+
# @license FreeBSD
|
11
|
+
# @link http://forge.kayako.com/projects/kayako-ruby-api-library
|
12
|
+
#
|
13
|
+
#######################################################################
|
14
|
+
|
15
|
+
require 'test/unit'
|
16
|
+
require 'kayako_client'
|
17
|
+
|
18
|
+
class TestTimeTrack < Test::Unit::TestCase
|
19
|
+
|
20
|
+
def test_time_track_methods
|
21
|
+
test = KayakoClient::TicketTimeTrack.new
|
22
|
+
|
23
|
+
assert_raise NotImplementedError do
|
24
|
+
test.put
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def test_time_track_ticket_api
|
29
|
+
assert KayakoClient::TicketTimeTrack.included_modules.include?(KayakoClient::TicketAPI)
|
30
|
+
|
31
|
+
assert_raise ArgumentError do
|
32
|
+
KayakoClient::TicketTimeTrack.all
|
33
|
+
end
|
34
|
+
|
35
|
+
assert_raise ArgumentError do
|
36
|
+
KayakoClient::TicketTimeTrack.get(1)
|
37
|
+
end
|
38
|
+
|
39
|
+
assert_raise ArgumentError do
|
40
|
+
KayakoClient::TicketTimeTrack.delete(1)
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
44
|
+
def test_time_track_associates
|
45
|
+
test = KayakoClient::TicketTimeTrack.new(
|
46
|
+
:ticket_id => 0,
|
47
|
+
:worker_staff_id => 0,
|
48
|
+
:creator_staff_id => 0
|
49
|
+
)
|
50
|
+
|
51
|
+
assert test.respond_to?(:ticket)
|
52
|
+
assert test.respond_to?(:worker_staff)
|
53
|
+
assert test.respond_to?(:creator_staff)
|
54
|
+
|
55
|
+
assert_nil test.ticket
|
56
|
+
assert_nil test.worker_staff
|
57
|
+
assert_nil test.creator_staff
|
58
|
+
end
|
59
|
+
|
60
|
+
def test_time_track_note_colors
|
61
|
+
assert KayakoClient::TicketTimeTrack.options[:note_color][:range].include?(KayakoClient::TicketNote::COLOR_YELLOW)
|
62
|
+
assert KayakoClient::TicketTimeTrack.options[:note_color][:range].include?(KayakoClient::TicketNote::COLOR_PURPLE)
|
63
|
+
assert KayakoClient::TicketTimeTrack.options[:note_color][:range].include?(KayakoClient::TicketNote::COLOR_BLUE)
|
64
|
+
assert KayakoClient::TicketTimeTrack.options[:note_color][:range].include?(KayakoClient::TicketNote::COLOR_GREEN)
|
65
|
+
assert KayakoClient::TicketTimeTrack.options[:note_color][:range].include?(KayakoClient::TicketNote::COLOR_RED)
|
66
|
+
end
|
67
|
+
|
68
|
+
end
|