Merge pull request #2925 from diasp/2833-conversations-should-return-json

Conversations should return json #2833
This commit is contained in:
Dennis Collective 2012-02-27 17:34:10 -08:00
commit 7abbe4a642
2 changed files with 31 additions and 9 deletions

View file

@ -19,6 +19,11 @@ class ConversationsController < ApplicationController
@conversation = Conversation.joins(:conversation_visibilities).where(
:conversation_visibilities => {:person_id => current_user.person.id, :conversation_id => params[:conversation_id]}).first
respond_with do |format|
format.html
format.json { render :json => @conversations, :status => 200 }
end
end
def create
@ -56,6 +61,7 @@ class ConversationsController < ApplicationController
respond_to do |format|
format.html { redirect_to conversations_path(:conversation_id => @conversation.id) }
format.js
format.json { render :json => @conversation, :status => 200 }
end
else
redirect_to conversations_path

View file

@ -34,20 +34,29 @@ describe ConversationsController do
end
describe '#index' do
it 'succeeds' do
get :index
response.should be_success
end
it 'retrieves all conversations for a user' do
before do
hash = {
:author => alice.person,
:participant_ids => [alice.contacts.first.person.id, alice.person.id],
:subject => 'not spam',
:messages_attributes => [ {:author => alice.person, :text => 'cool stuff'} ]
}
3.times { Conversation.create(hash) }
@conversations = Array.new(3) { Conversation.create(hash) }
end
it 'succeeds' do
get :index
response.should be_success
assigns[:conversations].should == @conversations
end
it 'succeeds with json' do
get :index, :format => :json
response.should be_success
response.body.should == @conversations.to_json
end
it 'retrieves all conversations for a user' do
get :index
assigns[:conversations].count.should == 3
end
@ -137,11 +146,18 @@ describe ConversationsController do
@conversation = Conversation.create(hash)
end
it 'succeeds' do
it 'succeeds with js' do
get :show, :id => @conversation.id, :format => :js
response.should be_success
assigns[:conversation].should == @conversation
end
it 'succeeds with json' do
get :show, :id => @conversation.id, :format => :json
response.should be_success
assigns[:conversation].should == @conversation
response.body.should == @conversation.to_json
end
it 'redirects to index' do
get :show, :id => @conversation.id