gov_user_steps.rb 2.6 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