spec/rest/client_spec.rb in twilio-ruby-3.15.0 vs spec/rest/client_spec.rb in twilio-ruby-3.15.1
- old
+ new
@@ -179,6 +179,80 @@
client = Twilio::REST::Client.new('someSid', 'someToken')
expect(client).to respond_to(method)
expect(client.send(method)).to eq(client.account.send(method))
end
end
+
+ it 'should throw an argument error if the workspace_sid is not set' do
+ expect { Twilio::REST::TaskRouterClient.new 'someSid', 'someToken' }.to raise_error(ArgumentError)
+ end
+
+ it 'should have its host set to taskrouter.twilio.com' do
+ client = Twilio::REST::TaskRouterClient.new('someSid', 'someToken', 'someSid')
+ connection = client.instance_variable_get('@connection')
+ expect(connection.address).to eq('taskrouter.twilio.com')
+ end
+
+ it 'should have task queue statistics resource' do
+ FakeWeb.register_uri(:get, %r/taskrouter\.twilio\.com/, body: '{}')
+ client = Twilio::REST::TaskRouterClient.new('someSid', 'someToken', 'someSid')
+ expect(client).to respond_to(:task_queue_statistics)
+ expect(client.task_queue_statistics('someSid').instance_variable_get('@path')).to eq('/v1/Workspaces/someSid/TaskQueues/someSid/Statistics')
+ end
+
+ it 'should have task queues statistics resource' do
+ FakeWeb.register_uri(:get, %r/taskrouter\.twilio\.com/, body: '{"meta": {"key": "task_queues_statistics"}, "task_queues_statistics": [{"task_queue_sid": "WQ123"}]}')
+ client = Twilio::REST::TaskRouterClient.new('someSid', 'someToken', 'someSid')
+ expect(client).to respond_to(:task_queues_statistics)
+ expect(client.task_queues_statistics[0].task_queue_sid).to eq('WQ123')
+ end
+
+ it 'should have worker statistics resource' do
+ FakeWeb.register_uri(:get, %r/taskrouter\.twilio\.com/, body: '{}')
+ client = Twilio::REST::TaskRouterClient.new('someSid', 'someToken', 'someSid')
+ expect(client).to respond_to(:worker_statistics)
+ expect(client.worker_statistics('someSid').instance_variable_get('@path')).to eq('/v1/Workspaces/someSid/Workers/someSid/Statistics')
+ end
+
+ it 'should have workers statistics resource' do
+ FakeWeb.register_uri(:get, %r/taskrouter\.twilio\.com/, body: '{}')
+ client = Twilio::REST::TaskRouterClient.new('someSid', 'someToken', 'someSid')
+ expect(client).to respond_to(:workers_statistics)
+ expect(client.workers_statistics.instance_variable_get('@path')).to eq('/v1/Workspaces/someSid/Workers/Statistics')
+ end
+
+ it 'should have workflow statistics resource' do
+ FakeWeb.register_uri(:get, %r/taskrouter\.twilio\.com/, body: '{}')
+ client = Twilio::REST::TaskRouterClient.new('someSid', 'someToken', 'someSid')
+ expect(client).to respond_to(:workflow_statistics)
+ expect(client.workflow_statistics('someSid').instance_variable_get('@path')).to eq('/v1/Workspaces/someSid/Workflows/someSid/Statistics')
+ end
+
+ it 'should have workspace statistics resource' do
+ FakeWeb.register_uri(:get, %r/taskrouter\.twilio\.com/, body: '{}')
+ client = Twilio::REST::TaskRouterClient.new('someSid', 'someToken', 'someSid')
+ expect(client).to respond_to(:workspace_statistics)
+ expect(client.workspace_statistics.instance_variable_get('@path')).to eq('/v1/Workspaces/someSid/Statistics')
+ end
+
+ it 'should set up a workspaces resource object' do
+ client = Twilio::REST::TaskRouterClient.new('someSid', 'someToken', 'someSid')
+ expect(client).to respond_to(:workspaces)
+ expect(client.workspaces.instance_variable_get('@path')).to eq('/v1/Workspaces')
+ end
+
+ it 'should set up a workspace resource object' do
+ client = Twilio::REST::TaskRouterClient.new('someSid', 'someToken', 'someSid')
+ expect(client).to respond_to(:workspace)
+ expect(client.workspace.instance_variable_get('@path')).to eq('/v1/Workspaces/someSid')
+ end
+
+ [
+ :activities, :tasks, :task_queues, :workers, :workflows
+ ].each do |method|
+ it "should delegate the client method #{method} to the workspace object" do
+ client = Twilio::REST::TaskRouterClient.new('someSid', 'someToken', 'someSid')
+ expect(client).to respond_to(method)
+ expect(client.send(method)).to eq(client.workspace.send(method))
+ end
+ end
end