Skip to content
Extraits de code Groupes Projets
post_visibilities_controller_spec.rb 1,46 ko
Newer Older
  • Learn to ignore specific revisions
  • #   Copyright (c) 2010, Diaspora Inc.  This file is
    #   licensed under the Affero General Public License version 3 or later.  See
    #   the COPYRIGHT file.
    
    require 'spec_helper'
    
    describe PostVisibilitiesController do
      before do
    
        @status = alice.post(:status_message, :text => "hello", :to => alice.aspects.first)
    
    zhitomirskiyi's avatar
    zhitomirskiyi a validé
        @vis = @status.post_visibilities.first
    
    zhitomirskiyi's avatar
    zhitomirskiyi a validé
        context "on a post you can see" do
          it 'succeeds' do
    
            put :update, :format => :js, :id => 42, :post_id => @status.id
    
    zhitomirskiyi's avatar
    zhitomirskiyi a validé
            response.should be_success
          end
    
          it 'marks hidden if visible' do
            put :update, :format => :js, :id => 42, :post_id => @status.id
    
            @vis.reload.hidden.should be_true
    
    zhitomirskiyi's avatar
    zhitomirskiyi a validé
          end
    
    
          it 'marks visible if hidden' do
    
            @vis.update_attributes(:hidden => true)
    
    
            put :update, :format => :js, :id => 42, :post_id => @status.id
    
            @vis.reload.hidden.should be_false
    
    zhitomirskiyi's avatar
    zhitomirskiyi a validé
        end
    
    zhitomirskiyi's avatar
    zhitomirskiyi a validé
        context "post you do not see" do
          before do
    
    zhitomirskiyi's avatar
    zhitomirskiyi a validé
          end
    
    zhitomirskiyi's avatar
    zhitomirskiyi a validé
          it 'does not let a user destroy a visibility that is not theirs' do
            lambda {
    
              put :update, :format => :js, :id => 42, :post_id => @status.id
    
    zhitomirskiyi's avatar
    zhitomirskiyi a validé
            }.should_not change(@vis.reload, :hidden).to(true)
          end
    
          it 'does not succeed' do
    
            put :update, :format => :js, :id => 42, :post_id => @status.id
    
    zhitomirskiyi's avatar
    zhitomirskiyi a validé
            response.should_not be_success
          end