roqua-rom-api 0.1.7 → 0.1.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/ChangeLog.md +4 -0
- data/Guardfile +0 -1
- data/README.md +39 -9
- data/lib/i18n/i18n.rb +4 -1
- data/lib/roqua/rom_api.rb +2 -0
- data/lib/roqua/rom_api/create_fill_out_request.rb +11 -10
- data/lib/roqua/rom_api/create_response.rb +26 -0
- data/lib/roqua/rom_api/models/protocol_subscription.rb +0 -1
- data/lib/roqua/rom_api/report_calculations.rb +39 -0
- data/lib/roqua/rom_api/start_fill_out_session.rb +2 -2
- data/lib/roqua/rom_api/version.rb +1 -1
- data/spec/lib/roqua/rom_api/create_fill_out_request_spec.rb +23 -16
- data/spec/lib/roqua/rom_api/create_response_spec.rb +33 -0
- data/spec/lib/roqua/rom_api/report_calculations_spec.rb +52 -0
- data/spec/lib/roqua/rom_api/start_fill_out_session_spec.rb +8 -2
- metadata +8 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ce8decd48dd3da616e6eb16c463ecc8f8603f104
|
4
|
+
data.tar.gz: 2bde7738950a4b361b882a06c50a4752475f6960
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c5e0f2e97f3f2f7d17f06b7a45bf4a4d437cb258f17620ce6590effa94ae12e153d06e822c93117a3b08ff55adaa81944bf34535d33842ae8f5cd4c47ac6a8c6
|
7
|
+
data.tar.gz: 1ffdcdf567b1372c7e42f6f1fbc86ddcf232e258feb0ee19a7ce92ea6cf63f344efc6f3d0569e9c34d5fd8b5661d538a9d6f4567f0ed85350ac4fe469af3d9ab
|
data/ChangeLog.md
CHANGED
data/Guardfile
CHANGED
data/README.md
CHANGED
@@ -25,13 +25,13 @@ To create a fill out request run:
|
|
25
25
|
|
26
26
|
#### Parameters
|
27
27
|
|
28
|
-
* `dossier_id
|
29
|
-
* `questionnaire_keys
|
30
|
-
* open_from
|
31
|
-
* open_till
|
32
|
-
* callback_url
|
33
|
-
* reminders
|
34
|
-
* respondent_type
|
28
|
+
* `dossier_id:` [Required] - Unique dossier identifier string for the patient about to fill out questionnaires
|
29
|
+
* `questionnaire_keys:` [Required] - Array of keys of questionnaires to fill out
|
30
|
+
* `open_from:` Time the patient can start filling out the questionnaires and time.
|
31
|
+
* `open_till:` Time the patient can no longer fill in the questionnaire.
|
32
|
+
* `callback_url:` [Required] - Url for event callbacks
|
33
|
+
* `reminders:` Array of durations after which a reminder should be sent if fill_out_request has not been finished.
|
34
|
+
* `respondent_type:` Defaults to 'patient_version', each type is a separate list of questionnaires to fill out.
|
35
35
|
|
36
36
|
|
37
37
|
## Fill Out Sessions
|
@@ -45,8 +45,8 @@ To start filling out a set of questionnaires run:
|
|
45
45
|
#### Parameters
|
46
46
|
|
47
47
|
* `dossier_id:` [Required] - Unique dossier identifier for the patient about to fill out a questionnaire.
|
48
|
-
* `questionnaire_keys:`
|
49
|
-
* `response_ids:`
|
48
|
+
* `questionnaire_keys:` Array of keys uniquely identifying the questionnaires to be filled out.
|
49
|
+
* `response_ids:` Array of ids uniquely identifying aborted responses for which filling out has to be resumed.
|
50
50
|
* `return_to:` [Required] - Address to return to after filling out the questionnaire.
|
51
51
|
|
52
52
|
When questionnaire keys are provided, a set of blank questionnaires will be filled out. When response ids are provided,
|
@@ -134,6 +134,8 @@ Else the validation errors can be inspected:
|
|
134
134
|
|
135
135
|
## Responses
|
136
136
|
|
137
|
+
### Index
|
138
|
+
|
137
139
|
To retrieve filled out, pending or scheduled questionnaires run:
|
138
140
|
|
139
141
|
outcome = Roqua::RomApi::ListResponses.run dossier_id: dossier_id
|
@@ -153,6 +155,34 @@ Else some validation errors can be shown:
|
|
153
155
|
log_or_display outcome.errors.full_messages
|
154
156
|
end
|
155
157
|
|
158
|
+
### Create
|
159
|
+
|
160
|
+
To store an externally filled out questionnaire run:
|
161
|
+
|
162
|
+
outcome = Roqua::RomApi::CreateResponse.run questionnaire_key: 'questionnaire_key',
|
163
|
+
dossier_id: 'dossier_id',
|
164
|
+
answer_data: {some: 'aswer_data'}
|
165
|
+
|
166
|
+
#### Parameters
|
167
|
+
|
168
|
+
* `questionnaire_key:` [Required] - Key uniquely identifying the questionnaire in RoQua
|
169
|
+
* `dossier_id:` [Required] - Unique dossier identifier for the patient you want to store the questionnaire for
|
170
|
+
* `answer_data:` [Required] - Hash storing the answered option key for every question key
|
171
|
+
* `filled_out_at:` Timestamp indicating the time the questionnaire was filled out
|
172
|
+
* `respondent:` ['patient'(default)|'parent'|'second_parent'|'teacher'|'caregiver']
|
173
|
+
- String identifying the respondent which filled out the questionnaire
|
174
|
+
|
175
|
+
When the request succeeds, the stored response is returned:
|
176
|
+
|
177
|
+
if outcome.valid?
|
178
|
+
responses = outcome.result
|
179
|
+
|
180
|
+
Else some validation errors are provided:
|
181
|
+
|
182
|
+
else
|
183
|
+
log_or_display outcome.errors.full_messages
|
184
|
+
end
|
185
|
+
|
156
186
|
## Contributing to roqua-rom-api
|
157
187
|
|
158
188
|
* Check out the latest master to make sure the feature hasn't been implemented or the bug hasn't been fixed yet.
|
data/lib/i18n/i18n.rb
CHANGED
@@ -1,12 +1,15 @@
|
|
1
|
+
# rubocop:disable HandleExceptions
|
1
2
|
begin
|
2
3
|
require 'rails'
|
3
4
|
module I18n
|
4
5
|
class Railtie < ::Rails::Railtie #:nodoc:
|
5
|
-
initializer 'rails-i18n' do |
|
6
|
+
initializer 'rails-i18n' do |_app|
|
6
7
|
I18n.load_path << Dir[File.join(File.expand_path(File.dirname(__FILE__) + '/../../config/locales'), '*.yml')]
|
7
8
|
I18n.load_path.flatten!
|
8
9
|
end
|
9
10
|
end
|
10
11
|
end
|
11
12
|
rescue LoadError
|
13
|
+
# No I18n is set up as rails is not installed
|
12
14
|
end
|
15
|
+
# rubocop:enable HandleExceptions
|
data/lib/roqua/rom_api.rb
CHANGED
@@ -5,10 +5,12 @@ require 'roqua/rom_api/models'
|
|
5
5
|
require 'roqua/rom_api/endpoint'
|
6
6
|
require 'roqua/rom_api/list_protocol_subscriptions'
|
7
7
|
require 'roqua/rom_api/list_responses'
|
8
|
+
require 'roqua/rom_api/create_response'
|
8
9
|
require 'roqua/rom_api/start_fill_out_session'
|
9
10
|
require 'roqua/rom_api/create_fill_out_request'
|
10
11
|
require 'roqua/rom_api/start_protocol_subscription'
|
11
12
|
require 'roqua/rom_api/stop_protocol_subscription'
|
13
|
+
require 'roqua/rom_api/report_calculations'
|
12
14
|
|
13
15
|
module Roqua
|
14
16
|
module RomApi
|
@@ -3,7 +3,7 @@ module Roqua
|
|
3
3
|
# @api private
|
4
4
|
class CreateFillOutRequest < Endpoint
|
5
5
|
string :dossier_id
|
6
|
-
array :questionnaire_keys, default: []
|
6
|
+
array :questionnaire_keys, default: [] { string }
|
7
7
|
string :respondent_type, default: nil
|
8
8
|
string :callback_url
|
9
9
|
array :reminders, default: []
|
@@ -12,15 +12,16 @@ module Roqua
|
|
12
12
|
|
13
13
|
def execute
|
14
14
|
validate_response_for do
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
15
|
+
fill_out_request = {
|
16
|
+
questionnaire_keys: questionnaire_keys,
|
17
|
+
respondent_type: respondent_type,
|
18
|
+
callback_url: callback_url,
|
19
|
+
reminders: reminders,
|
20
|
+
open_from: open_from && open_from.to_i,
|
21
|
+
open_till: open_till && open_till.to_i
|
22
|
+
}.keep_if { |_k, v| v.present? }
|
23
|
+
RomApi.basic_auth_session.post("/dossiers/#{dossier_id}/fill_out_requests",
|
24
|
+
fill_out_request: fill_out_request)
|
24
25
|
end
|
25
26
|
end
|
26
27
|
|
@@ -0,0 +1,26 @@
|
|
1
|
+
module Roqua
|
2
|
+
module RomApi
|
3
|
+
# @api private
|
4
|
+
class CreateResponse < Endpoint
|
5
|
+
string :questionnaire_key
|
6
|
+
string :dossier_id
|
7
|
+
hash :answer_data, strip: false
|
8
|
+
time :filled_out_at, default: nil
|
9
|
+
string :respondent, default: nil
|
10
|
+
|
11
|
+
def execute
|
12
|
+
validate_response_for do
|
13
|
+
RomApi.basic_auth_session.post "/dossiers/#{dossier_id}/responses",
|
14
|
+
questionnaire_key: questionnaire_key,
|
15
|
+
answer_data: answer_data,
|
16
|
+
filled_out_at: filled_out_at.to_i,
|
17
|
+
respondent: respondent
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def response_to_result(response)
|
22
|
+
Models::Response.new(response)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
@@ -0,0 +1,39 @@
|
|
1
|
+
module Roqua
|
2
|
+
module RomApi
|
3
|
+
# @api private
|
4
|
+
class ReportCalculations < Endpoint
|
5
|
+
string :dossier_id
|
6
|
+
string :calculator
|
7
|
+
array(:response_ids, default: nil) { string }
|
8
|
+
array(:questionnaire_keys, default: nil) { string }
|
9
|
+
time :completed_after, default: nil
|
10
|
+
time :completed_before, default: nil
|
11
|
+
|
12
|
+
validates :questionnaire_keys, presence: true, unless: 'response_ids.present?'
|
13
|
+
|
14
|
+
def execute
|
15
|
+
validate_response_for do
|
16
|
+
RomApi.basic_auth_session.get "/dossiers/#{dossier_id}/report_calculations", params
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
def params
|
23
|
+
{calculator: calculator}.merge(filter_params)
|
24
|
+
end
|
25
|
+
|
26
|
+
def filter_params
|
27
|
+
if response_ids.present?
|
28
|
+
{response_ids: response_ids}
|
29
|
+
else
|
30
|
+
{filters: {
|
31
|
+
questionnaire_keys: questionnaire_keys,
|
32
|
+
completed_after: completed_after && completed_after.to_i,
|
33
|
+
completed_before: completed_before && completed_before.to_i
|
34
|
+
}}.keep_if { |_k, v| v.present? }
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
@@ -3,8 +3,8 @@ module Roqua
|
|
3
3
|
# @api private
|
4
4
|
class StartFillOutSession < Endpoint
|
5
5
|
string :dossier_id
|
6
|
-
array :questionnaire_keys, default: []
|
7
|
-
array :response_ids, default: []
|
6
|
+
array :questionnaire_keys, default: [] { string }
|
7
|
+
array :response_ids, default: [] { integer }
|
8
8
|
string :return_to
|
9
9
|
string :stylesheet, default: nil
|
10
10
|
|
@@ -1,13 +1,17 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe CreateFillOutRequest do
|
4
|
-
let(:options)
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
4
|
+
let(:options) do
|
5
|
+
{
|
6
|
+
dossier_id: 'some_dossier_id',
|
7
|
+
questionnaire_keys: ['qkey1', 'qkey2'],
|
8
|
+
respondent_type: 'patient_version',
|
9
|
+
callback_url: 'http://callback.url',
|
10
|
+
reminders: [1000, 2000],
|
11
|
+
open_from: Time.now,
|
12
|
+
open_till: Time.now + 100_000
|
13
|
+
}
|
14
|
+
end
|
11
15
|
let(:session) { Sessions::BasicAuthSession.new }
|
12
16
|
let(:response) { httparty_response({}) }
|
13
17
|
before do
|
@@ -15,14 +19,17 @@ describe CreateFillOutRequest do
|
|
15
19
|
allow(session).to receive(:post).and_return response
|
16
20
|
end
|
17
21
|
|
18
|
-
it 'does a post to the rom
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
22
|
+
it 'does a post to the rom fill_out_requests api' do
|
23
|
+
fill_out_request = {
|
24
|
+
questionnaire_keys: options[:questionnaire_keys],
|
25
|
+
respondent_type: options[:respondent_type],
|
26
|
+
callback_url: options[:callback_url],
|
27
|
+
reminders: options[:reminders],
|
28
|
+
open_from: options[:open_from].to_i,
|
29
|
+
open_till: options[:open_till].to_i
|
30
|
+
}
|
31
|
+
expect(session).to receive(:post).with("/dossiers/#{options[:dossier_id]}/fill_out_requests",
|
32
|
+
fill_out_request: fill_out_request)
|
26
33
|
CreateFillOutRequest.run!(options)
|
27
34
|
end
|
28
35
|
|
@@ -37,7 +44,7 @@ describe CreateFillOutRequest do
|
|
37
44
|
options[:open_from] = nil
|
38
45
|
options[:open_till] = nil
|
39
46
|
options[:reminders] = nil
|
40
|
-
expect(session).to receive(:post) do |
|
47
|
+
expect(session).to receive(:post) do |_path, args|
|
41
48
|
expect(args[:fill_out_request][:open_from]).to eq nil
|
42
49
|
expect(args[:fill_out_request][:open_till]).to eq nil
|
43
50
|
expect(args[:fill_out_request][:reminders]).to eq nil
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe CreateResponse do
|
4
|
+
let(:session) { Sessions::BasicAuthSession.new }
|
5
|
+
let(:response) { httparty_response(questionnaire_name: 'Some Questionnaire') }
|
6
|
+
before do
|
7
|
+
allow(Sessions::BasicAuthSession).to receive(:new).and_return session
|
8
|
+
allow(session).to receive(:post).and_return response
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'does a post to the rom responses api' do
|
12
|
+
filled_out_at = Time.now
|
13
|
+
expect(session).to receive(:post).with '/dossiers/some_dossier_id/responses',
|
14
|
+
questionnaire_key: 'some_questionnaire_key',
|
15
|
+
answer_data: {some: 'answer_data'},
|
16
|
+
filled_out_at: filled_out_at.to_i,
|
17
|
+
respondent: 'patient'
|
18
|
+
CreateResponse.run! dossier_id: 'some_dossier_id',
|
19
|
+
questionnaire_key: 'some_questionnaire_key',
|
20
|
+
answer_data: {some: 'answer_data'},
|
21
|
+
filled_out_at: filled_out_at,
|
22
|
+
respondent: 'patient'
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'returns a response object' do
|
26
|
+
response = CreateResponse.run! dossier_id: 'some_dossier_id',
|
27
|
+
questionnaire_key: 'some_questionnaire_key',
|
28
|
+
answer_data: {some: 'answer_data'},
|
29
|
+
respondent: 'patient'
|
30
|
+
expect(response).to be_a(Response)
|
31
|
+
expect(response.questionnaire_name).to eq('Some Questionnaire')
|
32
|
+
end
|
33
|
+
end
|
@@ -0,0 +1,52 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe ReportCalculations do
|
4
|
+
let(:options) { {dossier_id: '1', calculator: 'calc'} }
|
5
|
+
let(:api_path) { "/dossiers/#{options[:dossier_id]}/report_calculations" }
|
6
|
+
let(:response) { httparty_response('foo' => 'bar') }
|
7
|
+
let(:session) { Fabricate :basic_auth_session }
|
8
|
+
|
9
|
+
before do
|
10
|
+
allow(BasicAuthSession).to receive(:new).and_return session
|
11
|
+
allow(session).to receive(:get).and_return response
|
12
|
+
end
|
13
|
+
|
14
|
+
subject { ReportCalculations.run!(options) }
|
15
|
+
|
16
|
+
describe 'given a list of response_ids' do
|
17
|
+
let(:options) { {dossier_id: '1', response_ids: ['1', '2'], calculator: 'calc'} }
|
18
|
+
|
19
|
+
it 'returns the response' do
|
20
|
+
expect(subject).to eq('foo' => 'bar')
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'calls the right url' do
|
24
|
+
expect(session).to receive(:get).with(api_path, options.slice(:calculator, :response_ids))
|
25
|
+
subject
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
describe 'given a list of questionnaire_keys' do
|
30
|
+
let(:filters) { {questionnaire_keys: ['q1', 'q2'],
|
31
|
+
completed_after: Time.now - 100_000, completed_before: Time.now} }
|
32
|
+
let(:options) { {dossier_id: '1', calculator: 'test'}.merge(filters) }
|
33
|
+
|
34
|
+
it 'calls the right url' do
|
35
|
+
filter_hash = {
|
36
|
+
questionnaire_keys: filters[:questionnaire_keys],
|
37
|
+
completed_after: filters[:completed_after].to_i,
|
38
|
+
completed_before: filters[:completed_before].to_i
|
39
|
+
}
|
40
|
+
expect(session).to receive(:get).with(api_path, calculator: 'test', filters: filter_hash)
|
41
|
+
subject
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
describe 'given neither response_ids or questionnaire_keys' do
|
46
|
+
let(:options) { {dossier_id: '1', calculator: 'calc'} }
|
47
|
+
|
48
|
+
it 'should add an attr missing error' do
|
49
|
+
expect { subject }.to raise_error(ActiveInteraction::InvalidInteractionError)
|
50
|
+
end
|
51
|
+
end
|
52
|
+
end
|
@@ -1,8 +1,14 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe StartFillOutSession do
|
4
|
-
let(:options)
|
5
|
-
|
4
|
+
let(:options) do
|
5
|
+
{
|
6
|
+
dossier_id: 'some_dossier_id',
|
7
|
+
questionnaire_keys: ['some_key'],
|
8
|
+
return_to: '/some/return/url',
|
9
|
+
stylesheet: 'https://example.org/stylesheet.css'
|
10
|
+
}
|
11
|
+
end
|
6
12
|
let(:session) { Sessions::BasicAuthSession.new }
|
7
13
|
let(:response) { httparty_response 'fill_out_url' => 'some_fill_out_url' }
|
8
14
|
before do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: roqua-rom-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Samuel Esposito
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-09-22 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|
@@ -142,12 +142,14 @@ files:
|
|
142
142
|
- lib/roqua-rom-api.rb
|
143
143
|
- lib/roqua/rom_api.rb
|
144
144
|
- lib/roqua/rom_api/create_fill_out_request.rb
|
145
|
+
- lib/roqua/rom_api/create_response.rb
|
145
146
|
- lib/roqua/rom_api/endpoint.rb
|
146
147
|
- lib/roqua/rom_api/list_protocol_subscriptions.rb
|
147
148
|
- lib/roqua/rom_api/list_responses.rb
|
148
149
|
- lib/roqua/rom_api/models.rb
|
149
150
|
- lib/roqua/rom_api/models/protocol_subscription.rb
|
150
151
|
- lib/roqua/rom_api/models/response.rb
|
152
|
+
- lib/roqua/rom_api/report_calculations.rb
|
151
153
|
- lib/roqua/rom_api/sessions.rb
|
152
154
|
- lib/roqua/rom_api/sessions/basic_auth_session.rb
|
153
155
|
- lib/roqua/rom_api/start_fill_out_session.rb
|
@@ -157,11 +159,13 @@ files:
|
|
157
159
|
- roqua_rom_api.gemspec
|
158
160
|
- spec/fabricators/basic_auth_session_fabricator.rb
|
159
161
|
- spec/lib/roqua/rom_api/create_fill_out_request_spec.rb
|
162
|
+
- spec/lib/roqua/rom_api/create_response_spec.rb
|
160
163
|
- spec/lib/roqua/rom_api/endpoint_spec.rb
|
161
164
|
- spec/lib/roqua/rom_api/list_protocol_subscriptions_spec.rb
|
162
165
|
- spec/lib/roqua/rom_api/list_responses_spec.rb
|
163
166
|
- spec/lib/roqua/rom_api/models/protocol_subscription_spec.rb
|
164
167
|
- spec/lib/roqua/rom_api/models/response_spec.rb
|
168
|
+
- spec/lib/roqua/rom_api/report_calculations_spec.rb
|
165
169
|
- spec/lib/roqua/rom_api/sessions/basic_auth_session_spec.rb
|
166
170
|
- spec/lib/roqua/rom_api/start_fill_out_session_spec.rb
|
167
171
|
- spec/lib/roqua/rom_api/start_protocol_subscription_spec.rb
|
@@ -197,11 +201,13 @@ summary: API wrapper gem around RoQua's ROM API
|
|
197
201
|
test_files:
|
198
202
|
- spec/fabricators/basic_auth_session_fabricator.rb
|
199
203
|
- spec/lib/roqua/rom_api/create_fill_out_request_spec.rb
|
204
|
+
- spec/lib/roqua/rom_api/create_response_spec.rb
|
200
205
|
- spec/lib/roqua/rom_api/endpoint_spec.rb
|
201
206
|
- spec/lib/roqua/rom_api/list_protocol_subscriptions_spec.rb
|
202
207
|
- spec/lib/roqua/rom_api/list_responses_spec.rb
|
203
208
|
- spec/lib/roqua/rom_api/models/protocol_subscription_spec.rb
|
204
209
|
- spec/lib/roqua/rom_api/models/response_spec.rb
|
210
|
+
- spec/lib/roqua/rom_api/report_calculations_spec.rb
|
205
211
|
- spec/lib/roqua/rom_api/sessions/basic_auth_session_spec.rb
|
206
212
|
- spec/lib/roqua/rom_api/start_fill_out_session_spec.rb
|
207
213
|
- spec/lib/roqua/rom_api/start_protocol_subscription_spec.rb
|