Module: RspecRequestHelpers::Helpers::ClassMethods
- Defined in:
- lib/rspec_request_helpers/helpers.rb
Defined Under Namespace
Classes: DatabaseDSLTranslator
Instance Method Summary
collapse
-
#database(&block) ⇒ Object
Tiny DSL for creating list or single database records via factory_bot syntax and Rspec :let or :let! methods Usage: user(:user, name: ‘Bob’) is translated to let(:user) { FactoryBot.create(:user, name: ‘Bob’) } user!(:user, name: ‘Bob’) is translated to let!(:user) { FactoryBot.create(:user, name: ‘Bob’) } user_list(:user, name: ‘Bob’, 3) is translated to let(:user) { FactoryBot.create_list(:user, 3, name: ‘Bob’) } user_list!(:user, name: ‘Bob’, 3) is translated to let!(:user) { FactoryBot.create_list(:user, 3, name: ‘Bob’) }.
-
#expected_response(&block) ⇒ Object
-
#path(&block) ⇒ Object
-
#valid_headers(&block) ⇒ Object
-
#valid_params(&block) ⇒ Object
Instance Method Details
#database(&block) ⇒ Object
Tiny DSL for creating list or single database records via factory_bot syntax and Rspec :let or :let! methods Usage: user(:user, name: ‘Bob’) is translated to let(:user) { FactoryBot.create(:user, name: ‘Bob’) } user!(:user, name: ‘Bob’) is translated to let!(:user) { FactoryBot.create(:user, name: ‘Bob’) } user_list(:user, name: ‘Bob’, 3) is translated to let(:user) { FactoryBot.create_list(:user, 3, name: ‘Bob’) } user_list!(:user, name: ‘Bob’, 3) is translated to let!(:user) { FactoryBot.create_list(:user, 3, name: ‘Bob’) }
34
35
36
37
38
39
40
41
|
# File 'lib/rspec_request_helpers/helpers.rb', line 34
def database(&block)
parser = Parser::CurrentRuby.new
rewriter = DatabaseDSLTranslator.new
buffer = Parser::Source::Buffer.new('(string)')
buffer.source = Parser::CurrentRuby.parse(block.source).children.last.loc.expression.source
rspec_factory = rewriter.rewrite(buffer, parser.parse(buffer))
self.class_eval(rspec_factory)
end
|
#expected_response(&block) ⇒ Object
55
56
57
|
# File 'lib/rspec_request_helpers/helpers.rb', line 55
def expected_response(&block)
let(:expected_response, &block)
end
|
#path(&block) ⇒ Object
43
44
45
|
# File 'lib/rspec_request_helpers/helpers.rb', line 43
def path(&block)
let(:path, &block)
end
|
51
52
53
|
# File 'lib/rspec_request_helpers/helpers.rb', line 51
def (&block)
let(:valid_headers, &block)
end
|
#valid_params(&block) ⇒ Object
47
48
49
|
# File 'lib/rspec_request_helpers/helpers.rb', line 47
def valid_params(&block)
let(:valid_params, &block)
end
|