Sha256: 448c978d7b78d673f2f8b16705d985644956f38bbde1dc460c4d4c046ca3170d

Contents?: true

Size: 1.34 KB

Versions: 1

Compression:

Stored size: 1.34 KB

Contents

require 'spec_helper'

feature "JS Confirmations" do

  given(:admin) { create(:user, super_admin: true) }

  given(:category) { create(:category, num_posts: 0) }
  given(:post) { create(:post, :reviewed, category: category) }
  given(:published_post) { create(:post, :published, category: category) }

  scenario 'accepting JS confirmation performs action', js: true do
    login_and_navigate_to_post admin, post

    message = accept_prompt do
      click_link("Publish Post")
    end

    expect(message).to eq("Do you want to publish now?")
    expect(page).to have_css(".flash.flash_notice", text: "Post successfully published")

    post_expect_have_workflow_state "published"
  end

  scenario 'rejecting JS confirmation skips action', js: true do
    login_and_navigate_to_post admin, post

    message = dismiss_prompt do
      click_link("Publish Post")
    end

    expect(message).to eq("Do you want to publish now?")
    expect(page).to_not have_css(".flash.flash_notice", text: "Post successfully published")

    post_expect_have_workflow_state "reviewed"
  end

  scenario 'JS prompt uses Proc for message', js: true do
    login_and_navigate_to_post admin, published_post

    message = accept_prompt do
      click_link("Archive")
    end

    expect(message).to eq("Do you want to archive?")
    post_expect_have_workflow_state "archived"
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
active_admin-workflow-0.1.0 spec/features/js_confirmation_spec.rb