Skip to content

Commit

Permalink
Merge 26d31b9 into 923c1ab
Browse files Browse the repository at this point in the history
  • Loading branch information
TomNaessens committed May 31, 2019
2 parents 923c1ab + 26d31b9 commit 24f5a09
Show file tree
Hide file tree
Showing 2 changed files with 56 additions and 1 deletion.
51 changes: 51 additions & 0 deletions spec/controllers/requests_controller_spec.rb
Original file line number Diff line number Diff line change
@@ -1,5 +1,56 @@
require 'rails_helper'

RSpec.describe RequestsController, type: :controller do
describe "accepting request" do

let(:request) { create(:request, amount: 10) }

context "a request" do
it "can be accepted by the debtor" do
debtor_balance = request.debtor.balance
creditor_balance = request.creditor.balance

sign_in request.debtor
post :confirm, params: { request_id: request.id }

request.reload

expect(request.status).to eq("confirmed")

expect(debtor_balance - 10).to eq(request.debtor.balance)
expect(creditor_balance + 10).to eq(request.creditor.balance)
end

it "can not be accepted by the creditor" do
debtor_balance = request.debtor.balance
creditor_balance = request.creditor.balance

sign_in request.creditor
post :confirm, params: { request_id: request.id }

request.reload

expect(request.status).to eq("open")

expect(debtor_balance).to eq(request.debtor.balance)
expect(creditor_balance).to eq(request.creditor.balance)
end

it "can not be accepted by the issuer" do
debtor_balance = request.debtor.balance
creditor_balance = request.creditor.balance

sign_in request.issuer
post :confirm, params: { request_id: request.id }

request.reload

expect(request.status).to eq("open")

expect(debtor_balance).to eq(request.debtor.balance)
expect(creditor_balance).to eq(request.creditor.balance)
end
end

end
end
6 changes: 5 additions & 1 deletion spec/factories/requests.rb
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,11 @@

FactoryBot.define do
factory :request do

status { :open }
association :issuer, factory: :user, name: 'Issuer'
association :debtor, factory: :user, name: 'Debtor'
association :creditor, factory: :user, name: 'Creditor'
amount { 5 }
end

end

0 comments on commit 24f5a09

Please sign in to comment.