33 lines
775 B
Ruby
33 lines
775 B
Ruby
require "test_helper"
|
|
|
|
class Books::PublicationsTest < ActionDispatch::IntegrationTest
|
|
setup do
|
|
@book = books(:manual)
|
|
|
|
sign_in :david
|
|
end
|
|
|
|
test "publish a book" do
|
|
assert_changes -> { @book.reload.published? }, from: false, to: true do
|
|
patch book_publication_url(@book), params: { book: { published: "1" } }
|
|
end
|
|
|
|
@book.reload
|
|
assert_redirected_to book_slug_url(@book)
|
|
assert_equal "manual", @book.slug
|
|
end
|
|
|
|
test "edit book slug" do
|
|
@book.update! published: true
|
|
|
|
get edit_book_publication_url(@book)
|
|
assert_response :success
|
|
|
|
patch book_publication_url(@book), params: { book: { slug: "new-slug" } }
|
|
|
|
@book.reload
|
|
assert_redirected_to book_slug_url(@book)
|
|
assert_equal "new-slug", @book.slug
|
|
end
|
|
end
|