Sha256: f5e026c57cd305859b332fc307ee5c90c2c0403b0e712d7d0d79a4476b6803d5

Contents?: true

Size: 1.26 KB

Versions: 2

Compression:

Stored size: 1.26 KB

Contents

require "rails_helper"

describe Dorsale::CommentsController, type: :controller do
  routes { Dorsale::Engine.routes }

  let(:user) { create(:user) }

  before(:each) { sign_in(user) }

  let(:commentable) { create(:customer_vault_corporation) }
  let(:valid_params){
    {
      :comment => {
        :commentable_id   => commentable.id,
        :commentable_type => commentable.class.to_s,
        :text => "Hello",
      },
      :back_url => "/",
    }
  }

  describe "create" do
    it "should create comment" do
      post :create, params: valid_params
      expect(assigns(:comment)).to be_persisted
    end

    it "should redirect to back_url" do
      post :create, params: valid_params
      expect(response).to redirect_to("/")
    end
  end

  describe "update" do
    it "should update comment text" do
      comment = create(:dorsale_comment)
      patch :update, params: {id: comment, comment: {text: "New-comment-text"}, back_url: "/"}
      expect(response).to redirect_to("/")
      expect(comment.reload.text).to eq "New-comment-text"
    end
  end

  describe "destroy" do
    it "should destroy comment" do
      comment = create(:dorsale_comment)
      delete :destroy, params: {id: comment, back_url: "/"}
      expect(response).to redirect_to("/")
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
dorsale-3.8.1 spec/controllers/dorsale/comments_controller_spec.rb
dorsale-3.8.0 spec/controllers/dorsale/comments_controller_spec.rb