Top Level Namespace

Defined Under Namespace

Modules: ActionDispatch, ActiveModel, ActiveStorageMatchers, AttachmentHelpers, AxeMatchers, Capybara, CommentsHelpers, ConfirmationHelpers, Decidim, DecidimActiveJobExtensions, Devise, DownloadHelper, EscapeHtmlHelpers, FiltersHelpers, FormsValidationsHelpers, FrontendHelpers, GeocoderHelpers, MailerHelpers, NetworkConditionsHelpers, OAuthSystemSpecHelpers, RakeTaskOutputHelpers, TaskExampleGroup, TranslationHelpers, W3CValidators, W3cRspecValidators, Warden Classes: AnotherDummyAuthorizationHandler, ApplicationJob, BudgetsWorkflowRandom, ComponentValidator, DummyAuthorizationHandler, DummySignatureHandler, DummySmsMobilePhoneValidator, EphemeralDummyAuthorizationHandler, EtiquetteValidator, FileContentTypeValidator, GeocodingValidator, OrganizationPresentValidator, PassthruValidator, PasswordValidator, Premailer, ProposalLengthValidator, TimeZoneValidator, TranslatablePresenceValidator, TranslatedEtiquetteValidator, UploaderContentTypeValidator, UploaderImageDimensionsValidator, UrlValidator

Instance Method Summary collapse

Instance Method Details

#cmd_capture(path, cmd, env: {}) ⇒ Object



912
913
914
915
916
# File 'decidim-generators/lib/decidim/generators/test/generator_examples.rb', line 912

def cmd_capture(path, cmd, env: {})
  Bundler.with_unbundled_env do
    Decidim::GemManager.new(path).capture(cmd, env:, with_stderr: false)[0]
  end
end

#generate_component_name(locales, manifest_name, skip_injection: false) ⇒ Object



12
13
14
15
16
# File 'decidim-core/lib/decidim/core/test/factories.rb', line 12

def generate_component_name(locales, manifest_name, skip_injection: false)
  prepend = skip_injection ? "" : "<script>alert(\"#{manifest_name}\");</script>"

  Decidim::Components::Namer.new(locales, manifest_name).i18n_name.transform_values { |v| [prepend, v].compact_blank.join(" ") }
end

#generate_localized_debate_titleObject



5
6
7
# File 'decidim-debates/lib/decidim/debates/test/factories.rb', line 5

def generate_localized_debate_title
  Decidim::Faker::Localized.localized { "<script>alert(\"TITLE\");</script> #{generate(:title)}" }
end

#generate_localized_description(field = nil, skip_injection: false, before: "<p>", after: "</p>") ⇒ Object



18
19
20
21
22
# File 'decidim-core/lib/decidim/core/test/factories.rb', line 18

def generate_localized_description(field = nil, skip_injection: false, before: "<p>", after: "</p>")
  Decidim::Faker::Localized.wrapped(before, after) do
    generate_localized_title(field, skip_injection:)
  end
end

#generate_localized_title(field = nil, skip_injection: false) ⇒ Object



35
36
37
38
39
40
41
42
43
44
45
# File 'decidim-core/lib/decidim/core/test/factories.rb', line 35

def generate_localized_title(field = nil, skip_injection: false)
  skip_injection = true if field.nil?

  Decidim::Faker::Localized.localized do
    if skip_injection
      generate(:title)
    else
      "<script>alert(\"#{field}\");</script> #{generate(:title)}"
    end
  end
end

#generate_localized_word(field = nil, skip_injection: false) ⇒ Object



24
25
26
27
28
29
30
31
32
33
# File 'decidim-core/lib/decidim/core/test/factories.rb', line 24

def generate_localized_word(field = nil, skip_injection: false)
  skip_injection = true if field.nil?
  Decidim::Faker::Localized.localized do
    if skip_injection
      Faker::Lorem.word
    else
      "<script>alert(\"#{field}\");</script> #{Faker::Lorem.word}"
    end
  end
end

#generate_state_title(token, skip_injection: false) ⇒ Object



8
9
10
11
12
13
14
15
16
17
# File 'decidim-proposals/lib/decidim/proposals/test/factories.rb', line 8

def generate_state_title(token, skip_injection: false)
  value = I18n.t(token, scope: "decidim.proposals.answers")
  Decidim::Faker::Localized.localized do
    if skip_injection
      value
    else
      "<script>alert(\"proposal_state_title\");</script> #{value}"
    end
  end
end

#generate_title(field = nil, skip_injection:) ⇒ Object



47
48
49
50
51
52
53
# File 'decidim-core/lib/decidim/core/test/factories.rb', line 47

def generate_title(field = nil, skip_injection:)
  skip_injection = true if field.nil?

  prepend = skip_injection ? "" : "<script>alert(\"#{field}\");</script>"

  "#{prepend}#{generate(:title)}"
end

#initializer_config_for(path, env, mod = "Decidim") ⇒ Object



900
901
902
# File 'decidim-generators/lib/decidim/generators/test/generator_examples.rb', line 900

def initializer_config_for(path, env, mod = "Decidim")
  JSON.parse cmd_capture(path, "bin/rails runner 'puts #{mod}.config.to_json'", env:)
end

#rails_value(value, path, env) ⇒ Object



904
905
906
# File 'decidim-generators/lib/decidim/generators/test/generator_examples.rb', line 904

def rails_value(value, path, env)
  JSON.parse cmd_capture(path, "bin/rails runner 'puts #{value}.to_json'", env:)
end

#repo_rootObject



908
909
910
# File 'decidim-generators/lib/decidim/generators/test/generator_examples.rb', line 908

def repo_root
  File.expand_path(File.join("..", "..", "..", "..", ".."), __dir__)
end

#visit_resourceObject



5
6
7
8
9
10
11
# File 'decidim-core/lib/decidim/core/test/shared_examples/social_share_examples.rb', line 5

def visit_resource
  return visit resource if resource.is_a?(String)

  return visit decidim.root_path if resource.is_a?(Decidim::Organization)

  visit resource_locator(resource).path
end