-
Notifications
You must be signed in to change notification settings - Fork 45
Expand file tree
/
Copy pathoperation_preparer_spec.rb
More file actions
35 lines (32 loc) · 1.04 KB
/
operation_preparer_spec.rb
File metadata and controls
35 lines (32 loc) · 1.04 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
require 'spec_helper'
RSpec.describe GraphqlDevise::MountMethod::OperationPreparer do
describe '#call' do
subject(:prepared_operations) do
described_class.new(
mapping_name: mapping,
selected_operations: selected,
preparer: preparer,
custom: custom,
additional_operations: additional
).call
end
let(:logout_class) { Class.new(GraphQL::Schema::Resolver) }
let(:mapping) { :user }
let(:preparer) { double(:preparer, call: logout_class) }
let(:custom) { { login: double(:custom_login, graphql_name: nil) } }
let(:additional) { { user_additional: double(:user_additional) } }
let(:selected) do
{
login: { klass: double(:login_default) },
logout:{ klass: logout_class }
}
end
it 'is expected to return all provided operation keys' do
expect(prepared_operations.keys).to contain_exactly(
:user_login,
:user_logout,
:user_additional
)
end
end
end