Class: RubyRaider::RspecFileGenerator

Inherits:
FileGenerator show all
Defined in:
lib/generators/files/rspec_file_generator.rb

Class Method Summary collapse

Methods inherited from FileGenerator

generate_file

Class Method Details

.generate_base_specObject



52
53
54
55
56
57
58
59
60
61
# File 'lib/generators/files/rspec_file_generator.rb', line 52

def self.generate_base_spec
  spec = ERB.new <<~EOF
     require_relative '../helpers/raider'

    class BaseSpec
      include Raider::SpecHelper
    end
  EOF
  spec.result(binding)
end

.generate_example_specObject



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/generators/files/rspec_file_generator.rb', line 21

def self.generate_example_spec
  spec = ERB.new <<~EOF
    require_relative 'base_spec'
    require_relative '../page_objects/pages/login_page'

    class LoginSpec < BaseSpec
      context 'On the Login Page' do

        before(:each) do
          LoginPage.visit
        end

        describe 'A user can' do
          it 'login with the right credentials', :JIRA_123 do
            LoginPage.login('aguspe', '12341234')
            expect(LoginPage.header.customer_name).to eq 'Welcome back Agustin'
          end
        end

        describe 'A user cannot' do
          it 'login with the wrong credentials', :JIRA_123 do
            LoginPage.login('aguspe', 'wrongPassword')
            expect(LoginPage.header.customer_name).to be_empty
          end
        end
      end
    end
  EOF
  spec.result(binding)
end

.generate_rspec_files(name, automation) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
# File 'lib/generators/files/rspec_file_generator.rb', line 9

def self.generate_rspec_files(name, automation)
  CommonFileGenerator.generate_common_files(name)
  HelpersFileGenerator.generate_helper_files(name, automation)
  generate_file('login_page_spec.rb', "#{name}/spec", generate_example_spec)
  generate_file('base_spec.rb', "#{name}/spec", generate_base_spec)
  if automation == 'watir'
    WatirFileGenerator.generate_watir_files(name)
  else
    SeleniumFileGenerator.generate_selenium_files(name)
  end
end