lita-service 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.
- checksums.yaml +7 -0
- data/.gitignore +18 -0
- data/.rubocop.yml +5 -0
- data/.ruby-version +1 -0
- data/.travis.yml +9 -0
- data/Gemfile +4 -0
- data/README.md +55 -0
- data/Rakefile +9 -0
- data/dump.rdb +0 -0
- data/lib/lita-service.rb +26 -0
- data/lib/lita/handlers/customer.rb +97 -0
- data/lib/lita/handlers/service.rb +78 -0
- data/lib/lita/helpers/messages_helper.rb +28 -0
- data/lib/lita/interactors/add_all.rb +66 -0
- data/lib/lita/interactors/add_quantity.rb +81 -0
- data/lib/lita/interactors/base_interactor.rb +19 -0
- data/lib/lita/interactors/change_value.rb +81 -0
- data/lib/lita/interactors/create_service.rb +57 -0
- data/lib/lita/interactors/delete_customer.rb +65 -0
- data/lib/lita/interactors/delete_service.rb +43 -0
- data/lib/lita/interactors/inscribe_customer.rb +81 -0
- data/lib/lita/interactors/list_services.rb +25 -0
- data/lib/lita/interactors/reset_quantity.rb +74 -0
- data/lib/lita/interactors/show_service.rb +41 -0
- data/lib/lita/repositories/redis.rb +38 -0
- data/lita-service.gemspec +28 -0
- data/locales/en.yml +32 -0
- data/spec/lita/handlers/customer_spec.rb +215 -0
- data/spec/lita/handlers/service_spec.rb +150 -0
- data/spec/lita/helpers/messages_helper_spec.rb +34 -0
- data/spec/lita/interactors/add_all_spec.rb +100 -0
- data/spec/lita/interactors/add_quantity_spec.rb +129 -0
- data/spec/lita/interactors/change_value_spec.rb +99 -0
- data/spec/lita/interactors/create_service_spec.rb +52 -0
- data/spec/lita/interactors/delete_customer_spec.rb +87 -0
- data/spec/lita/interactors/delete_service_spec.rb +49 -0
- data/spec/lita/interactors/inscribe_customer_spec.rb +119 -0
- data/spec/lita/interactors/list_services_spec.rb +51 -0
- data/spec/lita/interactors/reset_quantity_spec.rb +96 -0
- data/spec/lita/interactors/show_service_spec.rb +52 -0
- data/spec/lita/repositories/redis_spec.rb +71 -0
- data/spec/spec_helper.rb +19 -0
- data/templates/.gitkeep +0 -0
- data/templates/error.erb +1 -0
- data/templates/list_services.erb +10 -0
- data/templates/message.erb +1 -0
- data/templates/service_created.erb +1 -0
- data/templates/service_show.erb +30 -0
- metadata +233 -0
@@ -0,0 +1,41 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'lita/helpers/messages_helper'
|
3
|
+
|
4
|
+
module Lita
|
5
|
+
module Interactors
|
6
|
+
# Show service
|
7
|
+
class ShowService < BaseInteractor
|
8
|
+
include Lita::Helpers::MessagesHelper
|
9
|
+
|
10
|
+
attr_reader :data
|
11
|
+
|
12
|
+
def initialize(handler, data)
|
13
|
+
@handler = handler
|
14
|
+
@data = data
|
15
|
+
end
|
16
|
+
|
17
|
+
def perform
|
18
|
+
if service_exists?
|
19
|
+
@message = service
|
20
|
+
else
|
21
|
+
@error = msg_not_found(service_name: name)
|
22
|
+
end
|
23
|
+
self
|
24
|
+
end
|
25
|
+
|
26
|
+
private
|
27
|
+
|
28
|
+
def name
|
29
|
+
@name ||= data[1]
|
30
|
+
end
|
31
|
+
|
32
|
+
def service
|
33
|
+
@service ||= repository.find(name)
|
34
|
+
end
|
35
|
+
|
36
|
+
def service_exists?
|
37
|
+
repository.exists?(name)
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
41
|
+
end
|
@@ -0,0 +1,38 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
module Lita
|
3
|
+
module Repositories
|
4
|
+
# Redis repository
|
5
|
+
class Redis
|
6
|
+
attr_reader :redis
|
7
|
+
|
8
|
+
def initialize(redis)
|
9
|
+
@redis = redis
|
10
|
+
end
|
11
|
+
|
12
|
+
def exists?(key)
|
13
|
+
redis.exists(key)
|
14
|
+
end
|
15
|
+
|
16
|
+
def find(key)
|
17
|
+
resource = redis.get(key)
|
18
|
+
MultiJson.load(resource, symbolize_keys: true)
|
19
|
+
end
|
20
|
+
|
21
|
+
def all
|
22
|
+
redis.keys
|
23
|
+
end
|
24
|
+
|
25
|
+
def add(resource)
|
26
|
+
redis.set(resource[:name], MultiJson.dump(resource))
|
27
|
+
end
|
28
|
+
|
29
|
+
def update(resource)
|
30
|
+
add(resource)
|
31
|
+
end
|
32
|
+
|
33
|
+
def delete(key)
|
34
|
+
redis.del(key)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
Gem::Specification.new do |spec|
|
3
|
+
spec.name = 'lita-service'
|
4
|
+
spec.version = '0.1.0'
|
5
|
+
spec.authors = ['Erlinis Quintana']
|
6
|
+
spec.email = ['erlinis.quintana@gmail.com']
|
7
|
+
spec.description = 'Plugin to create a service'
|
8
|
+
spec.summary = 'Plugin to create a service'
|
9
|
+
spec.homepage = 'https://github.com/equintana/lita-service'
|
10
|
+
spec.license = 'Open-Source License'
|
11
|
+
spec.metadata = { 'lita_plugin_type' => 'handler' }
|
12
|
+
|
13
|
+
spec.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
|
14
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
15
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
16
|
+
spec.require_paths = ['lib']
|
17
|
+
|
18
|
+
spec.add_runtime_dependency 'lita', '>= 4.7'
|
19
|
+
|
20
|
+
spec.add_development_dependency 'bundler', '~> 1.3'
|
21
|
+
spec.add_development_dependency 'pry-byebug'
|
22
|
+
spec.add_development_dependency 'rake'
|
23
|
+
spec.add_development_dependency 'rack-test'
|
24
|
+
spec.add_development_dependency 'rspec', '>= 3.0.0'
|
25
|
+
spec.add_development_dependency 'simplecov', '>=0.9.2'
|
26
|
+
spec.add_development_dependency 'coveralls'
|
27
|
+
spec.add_development_dependency 'rubocop', '~> 0.44.1'
|
28
|
+
end
|
data/locales/en.yml
ADDED
@@ -0,0 +1,32 @@
|
|
1
|
+
en:
|
2
|
+
lita:
|
3
|
+
handlers:
|
4
|
+
service:
|
5
|
+
list:
|
6
|
+
empty: "Nothing to see here."
|
7
|
+
title: "Services List"
|
8
|
+
create:
|
9
|
+
success: "Yay! *%{service_name}* service was created."
|
10
|
+
show:
|
11
|
+
empty: "No customers yet :("
|
12
|
+
delete:
|
13
|
+
success: "Service *%{service_name}* was deleted."
|
14
|
+
inscribe:
|
15
|
+
success: "*%{customer_name}* was inscribed to *%{service_name}*."
|
16
|
+
tip: "Add customers with:\nlita service *%{service_name}* inscribe < CUSTOMER > < *VALUE >"
|
17
|
+
set_value:
|
18
|
+
success: "*%{customer_name}* value was changed from *%{old_value}* to *%{customer_value}*."
|
19
|
+
reset:
|
20
|
+
success: "*%{customer_name}* quantity was changed to *0*."
|
21
|
+
add:
|
22
|
+
success: "*%{quantity}* was added to *%{customer_name}*, new quantity: *%{customer_quantity}*"
|
23
|
+
add_all:
|
24
|
+
success: "*%{quantity}* was added to all."
|
25
|
+
delete_customer:
|
26
|
+
success: "*%{customer_name}* was deleted from *%{service_name}*."
|
27
|
+
errors:
|
28
|
+
duplicated: "A service called *%{service_name}* exist already."
|
29
|
+
not_found: "There isn't a service called *%{service_name}* or it was deleted."
|
30
|
+
customer:
|
31
|
+
duplicated: "*%{customer_name}* is already in *%{service_name}*."
|
32
|
+
not_found: "There is no *%{customer_name}* in *%{service_name}*."
|
@@ -0,0 +1,215 @@
|
|
1
|
+
# frozen_string_literal: false
|
2
|
+
require 'spec_helper'
|
3
|
+
# require 'lita/handlers/service'
|
4
|
+
|
5
|
+
describe Lita::Handlers::Customer, lita_handler: true,
|
6
|
+
additional_lita_handlers: Lita::Handlers::Service do
|
7
|
+
describe 'routes' do
|
8
|
+
it { is_expected.to route_command('service XYZ inscribe @jhon').to(:inscribe) }
|
9
|
+
it { is_expected.to route_command('service XYZ inscribe @jhon 200').to(:inscribe) }
|
10
|
+
it { is_expected.to route_command('service XYZ value @jhon 200').to(:change_value) }
|
11
|
+
it { is_expected.to route_command('service XYZ add @jhon 2').to(:add) }
|
12
|
+
it { is_expected.to route_command('service XYZ add @jhon -2').to(:add) }
|
13
|
+
it { is_expected.to route_command('service XYZ add @jhon').to(:add) }
|
14
|
+
it { is_expected.to route_command('service XYZ sum @jhon 2').to(:add) }
|
15
|
+
it { is_expected.to route_command('service XYZ sum @jhon').to(:add) }
|
16
|
+
it { is_expected.to route_command('service XYZ add all').to(:add_all) }
|
17
|
+
it { is_expected.to route_command('service XYZ add all 2').to(:add_all) }
|
18
|
+
it { is_expected.to route_command('service XYZ sum all 2').to(:add_all) }
|
19
|
+
it { is_expected.to route_command('service XYZ reset @jhon').to(:reset) }
|
20
|
+
it { is_expected.to route_command('service XYZ delete jhon').to(:delete_customer) }
|
21
|
+
it { is_expected.to route_command('service XYZ remove jhon').to(:delete_customer) }
|
22
|
+
end
|
23
|
+
|
24
|
+
describe 'callbacks' do
|
25
|
+
let(:service_not_found_error) do
|
26
|
+
"_ERROR: There isn't a service called *TheService* or it was deleted._"
|
27
|
+
end
|
28
|
+
|
29
|
+
describe '#inscribe' do
|
30
|
+
describe 'when service exists' do
|
31
|
+
before do
|
32
|
+
send_command('service create TheService')
|
33
|
+
send_command('service TheService inscribe @erlinis 2000')
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'inscribes the customer if not in service' do
|
37
|
+
success_message = '_*erlinis* was inscribed to *TheService*._'
|
38
|
+
expect(replies.last).to eq(success_message)
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'returns an error is customer inscribed already' do
|
42
|
+
error = '_ERROR: *erlinis* is already in *TheService*._'
|
43
|
+
send_command('service TheService inscribe @erlinis 2000')
|
44
|
+
expect(replies.last).to eq(error)
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
describe 'when service does not exit' do
|
49
|
+
it 'replys with an error' do
|
50
|
+
send_command('service TheService inscribe @erlinis')
|
51
|
+
expect(replies.last).to eq(service_not_found_error)
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
describe '#value' do
|
57
|
+
describe 'when service exists' do
|
58
|
+
before do
|
59
|
+
send_command('service create TheService')
|
60
|
+
send_command('service TheService inscribe @erlinis 2000')
|
61
|
+
end
|
62
|
+
|
63
|
+
it 'changes the customer values if not in service' do
|
64
|
+
success_message = '_*erlinis* value was changed from *2000* to *1000*._'
|
65
|
+
send_command('service TheService value @erlinis 1000')
|
66
|
+
expect(replies.last).to eq(success_message)
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
describe 'when service does not exit' do
|
71
|
+
it 'replys with an error' do
|
72
|
+
send_command('service TheService value @erlinis 1000')
|
73
|
+
expect(replies.last).to eq(service_not_found_error)
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
describe '#delete_customer' do
|
79
|
+
describe 'when service exists' do
|
80
|
+
before do
|
81
|
+
send_command('service create TheService')
|
82
|
+
end
|
83
|
+
|
84
|
+
describe 'customer in service' do
|
85
|
+
before do
|
86
|
+
send_command('service TheService inscribe @erlinis 2000')
|
87
|
+
end
|
88
|
+
|
89
|
+
it 'removes the customer' do
|
90
|
+
success_message = '_*erlinis* was deleted from *TheService*._'
|
91
|
+
send_command('service TheService delete @erlinis')
|
92
|
+
expect(replies.last).to eq(success_message)
|
93
|
+
end
|
94
|
+
end
|
95
|
+
|
96
|
+
describe 'customer not in service' do
|
97
|
+
it 'returns an error' do
|
98
|
+
error = '_ERROR: There is no *erlinis* in *TheService*._'
|
99
|
+
send_command('service TheService delete @erlinis')
|
100
|
+
expect(replies.last).to eq(error)
|
101
|
+
end
|
102
|
+
end
|
103
|
+
end
|
104
|
+
|
105
|
+
describe 'when service does not exit' do
|
106
|
+
it 'replys with an error' do
|
107
|
+
send_command('service TheService delete @erlinis')
|
108
|
+
expect(replies.last).to eq(service_not_found_error)
|
109
|
+
end
|
110
|
+
end
|
111
|
+
end
|
112
|
+
|
113
|
+
describe '#reset' do
|
114
|
+
describe 'when service exists' do
|
115
|
+
before do
|
116
|
+
send_command('service create TheService')
|
117
|
+
send_command('service TheService inscribe @erlinis 2000')
|
118
|
+
end
|
119
|
+
|
120
|
+
it 'sets the customer quantity in zero' do
|
121
|
+
success_message = '_*2* was added to *erlinis*, new quantity: *2*_'
|
122
|
+
send_command('service TheService add @erlinis 2')
|
123
|
+
expect(replies.last).to eq(success_message)
|
124
|
+
end
|
125
|
+
end
|
126
|
+
|
127
|
+
describe ' when service does not exit' do
|
128
|
+
it 'replys with an error' do
|
129
|
+
send_command('service TheService reset @erlinis')
|
130
|
+
expect(replies.last).to eq(service_not_found_error)
|
131
|
+
end
|
132
|
+
end
|
133
|
+
end
|
134
|
+
|
135
|
+
describe '#add' do
|
136
|
+
describe 'when service exists' do
|
137
|
+
before do
|
138
|
+
send_command('service create TheService')
|
139
|
+
send_command('service TheService inscribe @erlinis 2000')
|
140
|
+
end
|
141
|
+
|
142
|
+
describe 'with positive quantity' do
|
143
|
+
it 'inscrease the customer quantity' do
|
144
|
+
success_message = '_*2* was added to *erlinis*, new quantity: *2*_'
|
145
|
+
send_command('service TheService add @erlinis 2')
|
146
|
+
expect(replies.last).to eq(success_message)
|
147
|
+
end
|
148
|
+
end
|
149
|
+
|
150
|
+
describe 'with negative quantity' do
|
151
|
+
it 'decrease the customer quantity' do
|
152
|
+
success_message = '_*-1* was added to *erlinis*, new quantity: *4*_'
|
153
|
+
send_command('service TheService add @erlinis 5')
|
154
|
+
send_command('service TheService add @erlinis -1')
|
155
|
+
expect(replies.last).to eq(success_message)
|
156
|
+
end
|
157
|
+
end
|
158
|
+
end
|
159
|
+
|
160
|
+
describe ' when service does not exit' do
|
161
|
+
it 'replys with an error' do
|
162
|
+
send_command('service TheService inscribe @erlinis')
|
163
|
+
expect(replies.last).to eq(service_not_found_error)
|
164
|
+
end
|
165
|
+
end
|
166
|
+
end
|
167
|
+
|
168
|
+
describe '#add_all' do
|
169
|
+
describe 'when service exists' do
|
170
|
+
let(:success_message) { "_*#{quantity}* was added to all._" }
|
171
|
+
|
172
|
+
before do
|
173
|
+
send_command('service create TheService')
|
174
|
+
send_command('service TheService inscribe @erlinis 2000')
|
175
|
+
send_command('service TheService inscribe @khal 2000')
|
176
|
+
send_command('service TheService add @erlinis 1')
|
177
|
+
end
|
178
|
+
|
179
|
+
describe 'with positive quantity' do
|
180
|
+
let(:quantity) { 2 }
|
181
|
+
|
182
|
+
it 'inscrease all customer quantity' do
|
183
|
+
send_command('service TheService add all 2')
|
184
|
+
expect(replies.last).to eq(success_message)
|
185
|
+
end
|
186
|
+
end
|
187
|
+
|
188
|
+
describe 'with negative quantity' do
|
189
|
+
let(:quantity) { -1 }
|
190
|
+
|
191
|
+
it 'decrease the customer quantity' do
|
192
|
+
send_command('service TheService add all -1')
|
193
|
+
expect(replies.last).to eq(success_message)
|
194
|
+
end
|
195
|
+
end
|
196
|
+
|
197
|
+
describe 'without a quantity' do
|
198
|
+
let(:quantity) { 1 }
|
199
|
+
|
200
|
+
it 'inscrease all customers quantity with default quantity' do
|
201
|
+
send_command('service TheService sum all 1')
|
202
|
+
expect(replies.last).to eq(success_message)
|
203
|
+
end
|
204
|
+
end
|
205
|
+
end
|
206
|
+
|
207
|
+
describe 'when service does not exit' do
|
208
|
+
it 'replys with an error' do
|
209
|
+
send_command('service TheService sum all')
|
210
|
+
expect(replies.last).to eq(service_not_found_error)
|
211
|
+
end
|
212
|
+
end
|
213
|
+
end
|
214
|
+
end
|
215
|
+
end
|
@@ -0,0 +1,150 @@
|
|
1
|
+
# frozen_string_literal: false
|
2
|
+
require 'spec_helper'
|
3
|
+
# require 'lita/handlers/customer'
|
4
|
+
|
5
|
+
describe Lita::Handlers::Service, lita_handler: true,
|
6
|
+
additional_lita_handlers: Lita::Handlers::Customer do
|
7
|
+
describe 'routes' do
|
8
|
+
it { is_expected.to route_command('service ping').to(:pong) }
|
9
|
+
it { is_expected.to route_command('service list').to(:list) }
|
10
|
+
it { is_expected.to route_command('service create XYZ').to(:create) }
|
11
|
+
it { is_expected.to route_command('service create XYZ 2000').to(:create) }
|
12
|
+
it { is_expected.to route_command('service show XYZ').to(:show) }
|
13
|
+
it { is_expected.to route_command('service service delete XYZ').to(:delete) }
|
14
|
+
it { is_expected.to route_command('service service remove XYZ').to(:delete) }
|
15
|
+
end
|
16
|
+
|
17
|
+
describe 'callbacks' do
|
18
|
+
let(:service_not_found_error) do
|
19
|
+
"_ERROR: There isn't a service called *TheService* or it was deleted._"
|
20
|
+
end
|
21
|
+
|
22
|
+
describe '#ping' do
|
23
|
+
it 'replies pong' do
|
24
|
+
send_command('service ping')
|
25
|
+
expect(replies.last).to eq 'pong!'
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
describe '#list' do
|
30
|
+
describe 'with services' do
|
31
|
+
before do
|
32
|
+
send_command('service create ABC')
|
33
|
+
send_command('service create XYZ')
|
34
|
+
end
|
35
|
+
|
36
|
+
it 'list all services' do
|
37
|
+
send_command('service list')
|
38
|
+
expect(replies.last).to include('XYZ', 'ABC')
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
describe 'without services' do
|
43
|
+
it 'shows an empty state message' do
|
44
|
+
empty_message = "Services List\n_Nothing to see here._\n"
|
45
|
+
send_command('service list')
|
46
|
+
expect(replies.last).to eq(empty_message)
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
describe '#create' do
|
52
|
+
describe 'name not taken' do
|
53
|
+
let(:success_message) do
|
54
|
+
'_Yay! *TheService* service was created._'
|
55
|
+
end
|
56
|
+
|
57
|
+
it 'creates a service with name' do
|
58
|
+
send_command('service create TheService')
|
59
|
+
expect(replies.last).to eq(success_message)
|
60
|
+
end
|
61
|
+
|
62
|
+
it 'creates a service with name and value' do
|
63
|
+
send_command('service create TheService 2000')
|
64
|
+
expect(replies.last).to eq(success_message)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
describe 'name taken' do
|
69
|
+
it 'replys with an error' do
|
70
|
+
error_message = '_ERROR: A service called *TheService* exist already._'
|
71
|
+
send_command('service create TheService')
|
72
|
+
send_command('service create TheService')
|
73
|
+
expect(replies.last).to eq(error_message)
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
|
78
|
+
describe '#show' do
|
79
|
+
describe 'when the service exists' do
|
80
|
+
before do
|
81
|
+
send_command('service create TheService')
|
82
|
+
end
|
83
|
+
|
84
|
+
describe 'without customers' do
|
85
|
+
it 'shows an empty state message' do
|
86
|
+
empty_message = "\n*TheService*\n\n_No customers yet :(_\n"
|
87
|
+
|
88
|
+
send_command('service show TheService')
|
89
|
+
expect(replies.last).to eq(empty_message)
|
90
|
+
end
|
91
|
+
end
|
92
|
+
|
93
|
+
describe 'with customers' do
|
94
|
+
before do
|
95
|
+
send_command('service create TheService 2000')
|
96
|
+
send_command('service TheService inscribe erlinis 2000')
|
97
|
+
send_command('service TheService inscribe khal 2000')
|
98
|
+
send_command('service TheService add erlinis 1')
|
99
|
+
send_command('service TheService add khal 2')
|
100
|
+
end
|
101
|
+
|
102
|
+
it 'shows the service' do
|
103
|
+
service_data = "\n*TheService*\n\n" \
|
104
|
+
"```\n" \
|
105
|
+
"-------------------------------------------------------------\n" \
|
106
|
+
" # | Name | Quantity | Value | Total \n" \
|
107
|
+
"-----+----------------------+----------+----------+----------\n" \
|
108
|
+
" 1 | erlinis | 1 | 2000 | 2000 \n" \
|
109
|
+
" 2 | khal | 2 | 2000 | 4000 \n" \
|
110
|
+
"-----+----------------------+----------+----------+----------\n" \
|
111
|
+
" | Total | 3 | *** | 6000 \n" \
|
112
|
+
"-------------------------------------------------------------\n" \
|
113
|
+
'```'
|
114
|
+
|
115
|
+
send_command('service show TheService')
|
116
|
+
expect(replies.last).to eq(service_data)
|
117
|
+
end
|
118
|
+
end
|
119
|
+
end
|
120
|
+
|
121
|
+
describe 'when service does not exist' do
|
122
|
+
it 'replys with an error' do
|
123
|
+
send_command('service show TheService')
|
124
|
+
expect(replies.last).to eq(service_not_found_error)
|
125
|
+
end
|
126
|
+
end
|
127
|
+
end
|
128
|
+
|
129
|
+
describe '#delete' do
|
130
|
+
describe 'when the service exists' do
|
131
|
+
before do
|
132
|
+
send_command('service create TheService')
|
133
|
+
end
|
134
|
+
|
135
|
+
it 'deletes the service' do
|
136
|
+
success_message = '_Service *TheService* was deleted._'
|
137
|
+
send_command('service delete TheService')
|
138
|
+
expect(replies.last).to eq(success_message)
|
139
|
+
end
|
140
|
+
end
|
141
|
+
|
142
|
+
describe 'when service does not exist' do
|
143
|
+
it 'replys with an error' do
|
144
|
+
send_command('service delete TheService')
|
145
|
+
expect(replies.last).to eq(service_not_found_error)
|
146
|
+
end
|
147
|
+
end
|
148
|
+
end
|
149
|
+
end
|
150
|
+
end
|