0
방금 모델에 새 기능을 추가했으며 rspec으로 테스트하려고했습니다. 그것은 내 테스트가 실패하고 아무것도 DB에 저장되고 있기 때문에 내가 뭔가 잘못하고있는 것처럼 보인다. 내가 원하는 것은 사용자로서 다른 사용자를 차단할 수있는 어려움을 갖는 것이다.rspec 테스트 db 저장 안함
def block
block_action = Blocked.new
block_action.add_blocked(current_user.id,params[:id])
current_user.blockeds << User.find(params[:id])
end
def is_blocked
blocked = current_user.blocked_by(current_user.id,params[:id])
blocked
end
내 차단 된 모델은 다음과 같습니다 :
belongs_to :user_blocking, class_name: 'User'
belongs_to :user_blocked, class_name: 'User'
def add_blocked(blocking_id,blocked_id)
self.user_blocking_id = blocking_id
self.user_blocked_id = blocked_id
self.save!
end
을이 내 테스트입니다
has_many :blockeds
has_many :blocked_users, :through=> :blockeds
내 user_controller은 다음과 같습니다
내 사용자 모델은 다음있다 :
describe 'Block' do
let(:user_one) { Fabricate :user }
let(:user_two) { Fabricate :user }
it 'should block a user' do
post :block, current_user: user_one.to_param, id: user_two.id.to_param, format: :json
expect{
post :is_blocked, current_user: user_one.to_param, id: user_two.id.to_param, format: :json
}.to eq(user_two)
end
end
user_tone이 user_one에 의해 차단되었는지 테스트하고 싶습니다. 아무것도 DB에 저장되지 않습니다. 어떤 도움?
expected: #<User id: 2, email: "[email protected]", encrypted_password: "$2a$04$cKnZx8h9nVX1xQOruH6.yeSHIl989EA.amK.fqz4kwz...", reset_password_token: nil, reset_password_sent_at: nil, remember_created_at: nil, sign_in_count: 0, current_sign_in_at: nil, last_sign_in_at: nil, current_sign_in_ip: nil, last_sign_in_ip: nil, created_at: "2014-12-23 13:48:32", updated_at: "2014-12-23 13:48:32", bio: nil, fb_access_token: "accusamuscumsit", fb_app_id: "essesedmaiores", phone: nil, address: nil, authentication_token: "vH3N1KTz1AVmP8fTRAye", gender: "male", profile_completed: false, zip_code: "95304-2111", state: "Indiana", city: "New Chaunceymouth", latitude: 37.6841772, longitude: -121.3770336, access_code_id: nil, locked_at: nil, cover: nil, fb_global_id: nil, birthday: "1996-02-18", age: 226, channel_id: "mh3_dPdbihISTdX8TCOKkQ", first_name: "Tressa", last_name: "Keeling", access_code_type: nil, facebook_data_updated_at: nil>
got: #<Proc:[email protected]/Users/toptierlabs/Documents/projects/kinnecting_backend/spec/controllers/api/users_controller_spec.rb:206>