docbrown/spec/requests/blocks_spec.rb
2018-10-03 13:00:09 -04:00

50 lines
1.4 KiB
Ruby

require "rails_helper"
RSpec.describe "Blocks", type: :request do
let(:user) { create(:user, :super_admin) }
before { sign_in user }
describe "GET blocks index" do
it "renders proper blocks index" do
create(:block, user_id: user.id, input_css: ".blue { color: blue;}")
get "/blocks"
expect(response.body).to include("color: blue")
end
end
# rubocop:disable RSpec/ExampleLength
describe "POST blocks" do
it "creates block from input data" do
post "/blocks", params: {
block: {
input_css: ".blue { color: blue;}",
input_html: "yo",
input_javascript: "alert('hey')"
}
}
expect(Block.all.size).to eq(1)
end
end
describe "PUT blocks" do
it "updates block from input data" do
block = create(:block, user_id: user.id, input_css: ".blue { color: blue;}")
put "/blocks/#{block.id}", params: {
block: { input_css: ".blue { color: red;}",
input_html: "yo",
input_javascript: "alert('hey')" }
}
expect(Block.last.processed_css).to include("color: red")
end
end
# rubocop:enable RSpec/ExampleLength
describe "DELETE blocks" do
it "updates block from input data" do
block = create(:block, user_id: user.id, input_css: ".blue { color: blue;}")
delete "/blocks/#{block.id}"
expect(Block.all.size).to eq(0)
end
end
end