2015-05-01 67 views
0

只有屬性curator等於true的用戶可以更新文章中的homepagelist爲true,並且工作正常。如何在視圖中編寫更新操作的rspec?

<% if @article.homepagelist%> 
    <% if current_user.curator %> 
     <%= form_for @article do|f| %> 
      <%= f.hidden_field :article_id, :value => @article.id%> 
      <%= f.hidden_field :title, :value => @article.title%> 
      <%= f.hidden_field :user_id, :value => current_user.id %> 
      <%= f.hidden_field :body, :value => @article.body%> 
      <%= f.hidden_field :image, :value => @article.image%> 
      <%= f.hidden_field :plain_body, :value => @article.plain_body %> 
      <%= f.hidden_field :magazine_id, :value => @article.magazine_id%> 
      <%= f.hidden_field :is_sponsored, :value => @article.is_sponsored%> 
      <%= f.hidden_field :ad_title, :value => @article.ad_title %> 
      <%= f.hidden_field :homepagelist, :value => false %> 
      <%= f.submit "Delete from List" %> 
     <% end %> 
    <% end %> 
    <% else %> 
    <div class="col-md-2"></div> 
     <% if current_user.curator %> 
     <%= form_for @article do|f| %> 
      <%= f.hidden_field :article_id, :value => @article.id%> 
      <%= f.hidden_field :title, :value => @article.title%> 
      <%= f.hidden_field :user_id, :value => current_user.id %> 
      <%= f.hidden_field :body, :value => @article.body%> 
      <%= f.hidden_field :image, :value => @article.image%> 
      <%= f.hidden_field :plain_body, :value => @article.plain_body %> 
      <%= f.hidden_field :magazine_id, :value => @article.magazine_id%> 
      <%= f.hidden_field :is_sponsored, :value => @article.is_sponsored%> 
      <%= f.hidden_field :ad_title, :value => @article.ad_title %> 
      <%= f.hidden_field :homepagelist, :value => true %> 
      <%= f.submit "Add List" %> 
     <% end %> 
    <% end %> 
<% end %> 

我要測試的更新動作後,我就加點擊列表或在文章真正的改變只有homepagelist變量列表中刪除,當我點擊添加到列表和假當我點擊rmove從名單

describe 'POST #update/homepagelistvariable' do 
    it 'allows curator to update homepagelist' do 
     @user = create(:user) 
     sign_in @user 
     @user.curator = true 
     @article2 = create(:article) 
     @article2.homepagelist = true 
     patch :update, article: FactoryGirl.attributes_for(:article, 
                 homepagelist: 
                 @article2.homepagelist) 

    end 
    end 
+1

「我要測試的更新動作後,我就加點擊列表或在文章真正的改變只有homepagelist變量列表中刪除,當我點擊添加到列表和假當我點擊列表中的rmove。「請把它寫成一個項目列表。它會幫助你理解你需要做出的斷言。 –

回答

0
describe 'PUT #update/homepagelist' do 
    it 'curator can add article to homepagelist' do 
     @user = create(:user, :curator => true) 
     sign_in @user 
     @article = create(:article, :user_id => @user.id) 
     put :update, id: @article.id, 
        article: FactoryGirl.attributes_for(:article, 
                 homepagelist: 
                 'true') 
     @article.reload 
     expect(assigns(:article).homepagelist).to match(true) 
    end 
    end 
    it 'curator can remove article to homepagelist' do 
    @user = create(:user, :curator => true) 
    sign_in @user 
    @article = create(:article, :user_id => @user.id, 
        :homepagelist => true) 
    put :update, id: @article.id, 
       article: FactoryGirl.attributes_for(:article, 
                homepagelist: 
                'false') 
    @article.reload 
    expect(assigns(:article).homepagelist).to match(false) 
    end 
end 
相關問題