dimanche 8 septembre 2019

How to refactor on easy way simple rspec test to use subject/let/it and FactoryGirl?

Basically i am having very simple test where i check if account_id from Grant (so id of his parent) is equal to account_id of Role model. Test seems ok, but i need to refactor it to use subject/let and to use FactoryGirl and i can't do that even with all the info on this subject i found. So, test is fine i just need help with refactoring. It's first time for me working with rails and writing test on it, so i am forced to ask this type of question here.

describe "validations" do

it "should have equal account_id" do
  first_acc, second_acc = Account.new, Account.new
  first_acc.id, second_acc.id = 10, 11
  vlada_role, vlada_grant = Role.new, Grant.new
  vlada_role1, vlada_grant1 = Role.new, Grant.new

  vlada_role.account_id = first_acc.id
  vlada_grant.account_id = second_acc.id
  vlada_role.id, vlada_grant.id = 8000, 255

  rg = RoleGrant.new
  rg1 = RoleGrant.new

  rg.role, rg1.role = vlada_role, vlada_role1
  rg.grant, rg1.grant = vlada_grant, vlada_grant1

  expect(rg.role.account_id).not_to eql(rg.grant.account_id)
  expect(rg1.role.account_id).to eql(rg1.grant.account_id)
end

end

Aucun commentaire:

Enregistrer un commentaire