Sha256: 9196382d7bab4018b2b0a673e521e626e61a5e3b6e6a85a710ccfadb72759d69

Contents?: true

Size: 1.7 KB

Versions: 12

Compression:

Stored size: 1.7 KB

Contents

# frozen_string_literal: true

shared_examples "inviting participatory space collaborators" do
  let(:role) { "Collaborator" }

  before do
    switch_to_host organization.host
  end

  context "when the user does not exist" do
    before do
      perform_enqueued_jobs { invite_user }
    end

    it "asks for a password and nickname and redirects to the admin dashboard" do
      visit last_email_link

      within "form.new_user" do
        fill_in :invitation_user_nickname, with: "caballo_loco"
        fill_in :invitation_user_password, with: "decidim123456789"
        check :invitation_user_tos_agreement
        find("*[type=submit]").click
      end

      expect(page).to have_current_path "/admin/admin_terms/show"

      visit decidim_admin.admin_terms_show_path
      find_button("I agree with the terms").click

      click_on space_sidebar_label

      within "div.table-scroll" do
        expect(page).to have_i18n_content(participatory_space.title)
      end
    end
  end

  context "when the user already exists" do
    let(:email) { "collaborator@example.org" }

    let!(:collaborator) do
      create(:user, :confirmed, :admin_terms_accepted, email:, organization:)
    end

    before do
      perform_enqueued_jobs { invite_user }
    end

    it "redirects the collaborator to the admin dashboard" do
      login_as collaborator, scope: :user

      visit decidim_admin.root_path

      click_on space_sidebar_label

      within "div.table-scroll" do
        expect(page).to have_i18n_content(participatory_space.title)
      end
    end

    it "selects the user role in the form" do
      edit_user(collaborator.name)

      expect(page).to have_select("Role", selected: "Collaborator")
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
decidim-admin-0.30.0.rc1 lib/decidim/admin/test/invite_participatory_space_collaborators_shared_examples.rb
decidim-admin-0.29.2 lib/decidim/admin/test/invite_participatory_space_collaborators_shared_examples.rb
decidim-admin-0.28.5 lib/decidim/admin/test/invite_participatory_space_collaborators_shared_examples.rb
decidim-admin-0.29.1 lib/decidim/admin/test/invite_participatory_space_collaborators_shared_examples.rb
decidim-admin-0.28.4 lib/decidim/admin/test/invite_participatory_space_collaborators_shared_examples.rb
decidim-admin-0.29.0 lib/decidim/admin/test/invite_participatory_space_collaborators_shared_examples.rb
decidim-admin-0.28.3 lib/decidim/admin/test/invite_participatory_space_collaborators_shared_examples.rb
decidim-admin-0.29.0.rc4 lib/decidim/admin/test/invite_participatory_space_collaborators_shared_examples.rb
decidim-admin-0.29.0.rc3 lib/decidim/admin/test/invite_participatory_space_collaborators_shared_examples.rb
decidim-admin-0.29.0.rc2 lib/decidim/admin/test/invite_participatory_space_collaborators_shared_examples.rb
decidim-admin-0.29.0.rc1 lib/decidim/admin/test/invite_participatory_space_collaborators_shared_examples.rb
decidim-admin-0.28.2 lib/decidim/admin/test/invite_participatory_space_collaborators_shared_examples.rb