gov_user_steps.rb 3.18 KB
Given /^Institutions has initial default values on database$/ do
  GovernmentalPower.create(:name => "Executivo")
  GovernmentalPower.create(:name => "Legislativo")
  GovernmentalPower.create(:name => "Judiciario")

  GovernmentalSphere.create(:name => "Federal")

  JuridicalNature.create(:name => "Autarquia")
  JuridicalNature.create(:name => "Administracao Direta")
  JuridicalNature.create(:name => "Empresa Publica")
  JuridicalNature.create(:name => "Fundacao")
  JuridicalNature.create(:name => "Orgao Autonomo")
  JuridicalNature.create(:name => "Sociedade")
  JuridicalNature.create(:name => "Sociedade Civil")
  JuridicalNature.create(:name => "Sociedade de Economia Mista")

  national_region = NationalRegion.new
  national_region.name = "Distrito Federal"
  national_region.national_region_code = '35'
  national_region.national_region_type_id = NationalRegionType::STATE
  national_region.save
end

Given /^I type in "([^"]*)" in autocomplete list "([^"]*)" and I choose "([^"]*)"$/ do |typed, input_field_selector, should_select|
# Wait the page javascript load
sleep 1
# Basicaly it, search for the input field, type something, wait for ajax end select an item
page.driver.browser.execute_script %Q{
  var search_query = "#{input_field_selector}.ui-autocomplete-input";
  var input = jQuery(search_query).first();

  input.trigger('click');
  input.val('#{typed}');
  input.trigger('keydown');

  window.setTimeout(function(){
    search_query = ".ui-menu-item a:contains('#{should_select}')";
    var typed = jQuery(search_query).first();

    typed.trigger('mouseenter').trigger('click');
    console.log(jQuery('#license_info_id'));
    }, 1000);
  }
  sleep 1
end

Given /^the following public institutions?$/ do |table|
  # table is a Cucumber::Ast::Table
  table.hashes.each do |item|
    community = Community.new
    community.name = item[:name]
    community.country = item[:country]
    community.state = item[:state]
    community.city = item[:city]
    community.save!

    governmental_power = GovernmentalPower.where(:name => item[:governmental_power]).first
    governmental_sphere = GovernmentalSphere.where(:name => item[:governmental_sphere]).first

    juridical_nature = JuridicalNature.create(:name => item[:juridical_nature])

    institution = PublicInstitution.new(:name => item[:name], :type => "PublicInstitution", :acronym => item[:acronym], :cnpj => item[:cnpj], :juridical_nature => juridical_nature, :governmental_power => governmental_power, :governmental_sphere => governmental_sphere)
    institution.community = community
    institution.corporate_name = item[:corporate_name]
    institution.save!
  end
end

Given /^I sleep for (\d+) seconds$/ do |time|
  sleep time.to_i
end

Given /^I am logged in as mpog_admin$/ do
  visit('/account/logout')

  user = User.new(:login => 'admin_user', :password => '123456', :password_confirmation => '123456', :email => 'admin_user@example.com')
  person = Person.new :name=>"Mpog Admin", :identifier=>"mpog-admin"
  user.person = person
  user.save!

  user.activate
  e = Environment.default
  e.add_admin(user.person)

  visit('/account/login')
  fill_in("Username", :with => user.login)
  fill_in("Password", :with => '123456')
  click_button("Log in")
end