Merge pull request #2925 from diasp/2833-conversations-should-return-json
Conversations should return json #2833
This commit is contained in:
commit
7abbe4a642
2 changed files with 31 additions and 9 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in a new issue