Merge branch 'budget' into budget-public-controllers
This commit is contained in:
0
spec/models/custom/.keep
Normal file
0
spec/models/custom/.keep
Normal file
34
spec/models/custom/residence_spec.rb
Normal file
34
spec/models/custom/residence_spec.rb
Normal file
@@ -0,0 +1,34 @@
|
||||
require 'rails_helper'
|
||||
|
||||
describe Verification::Residence do
|
||||
|
||||
let(:residence) { build(:verification_residence, document_number: "12345678Z") }
|
||||
|
||||
describe "verification" do
|
||||
|
||||
describe "postal code" do
|
||||
it "should be valid with postal codes starting with 280" do
|
||||
residence.postal_code = "28012"
|
||||
residence.valid?
|
||||
expect(residence.errors[:postal_code].size).to eq(0)
|
||||
|
||||
residence.postal_code = "28023"
|
||||
residence.valid?
|
||||
expect(residence.errors[:postal_code].size).to eq(0)
|
||||
end
|
||||
|
||||
it "should not be valid with postal codes not starting with 280" do
|
||||
residence.postal_code = "12345"
|
||||
residence.valid?
|
||||
expect(residence.errors[:postal_code].size).to eq(1)
|
||||
|
||||
residence.postal_code = "13280"
|
||||
residence.valid?
|
||||
expect(residence.errors[:postal_code].size).to eq(1)
|
||||
expect(residence.errors[:postal_code]).to include("In order to be verified, you must be registered.")
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
@@ -367,6 +367,50 @@ describe Proposal do
|
||||
end
|
||||
end
|
||||
|
||||
describe "voters" do
|
||||
|
||||
it "returns users that have voted for the proposal" do
|
||||
proposal = create(:proposal)
|
||||
voter1 = create(:user, :level_two)
|
||||
voter2 = create(:user, :level_two)
|
||||
voter3 = create(:user, :level_two)
|
||||
|
||||
create(:vote, voter: voter1, votable: proposal)
|
||||
create(:vote, voter: voter2, votable: proposal)
|
||||
|
||||
expect(proposal.voters).to include(voter1)
|
||||
expect(proposal.voters).to include(voter2)
|
||||
expect(proposal.voters).to_not include(voter3)
|
||||
end
|
||||
|
||||
it "does not return users that have been erased" do
|
||||
proposal = create(:proposal)
|
||||
voter1 = create(:user, :level_two)
|
||||
voter2 = create(:user, :level_two)
|
||||
|
||||
create(:vote, voter: voter1, votable: proposal)
|
||||
create(:vote, voter: voter2, votable: proposal)
|
||||
voter2.erase
|
||||
|
||||
expect(proposal.voters).to include(voter1)
|
||||
expect(proposal.voters).to_not include(voter2)
|
||||
end
|
||||
|
||||
it "does not return users that have been blocked" do
|
||||
proposal = create(:proposal)
|
||||
voter1 = create(:user, :level_two)
|
||||
voter2 = create(:user, :level_two)
|
||||
|
||||
create(:vote, voter: voter1, votable: proposal)
|
||||
create(:vote, voter: voter2, votable: proposal)
|
||||
voter2.block
|
||||
|
||||
expect(proposal.voters).to include(voter1)
|
||||
expect(proposal.voters).to_not include(voter2)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
describe "search" do
|
||||
|
||||
context "attributes" do
|
||||
|
||||
@@ -30,29 +30,6 @@ describe Verification::Residence do
|
||||
expect(residence.errors[:date_of_birth]).to include("You must be at least 16 years old")
|
||||
end
|
||||
|
||||
describe "postal code" do
|
||||
it "should be valid with postal codes starting with 280" do
|
||||
residence.postal_code = "28012"
|
||||
residence.valid?
|
||||
expect(residence.errors[:postal_code].size).to eq(0)
|
||||
|
||||
residence.postal_code = "28023"
|
||||
residence.valid?
|
||||
expect(residence.errors[:postal_code].size).to eq(0)
|
||||
end
|
||||
|
||||
it "should not be valid with postal codes not starting with 280" do
|
||||
residence.postal_code = "12345"
|
||||
residence.valid?
|
||||
expect(residence.errors[:postal_code].size).to eq(1)
|
||||
|
||||
residence.postal_code = "13280"
|
||||
residence.valid?
|
||||
expect(residence.errors[:postal_code].size).to eq(1)
|
||||
expect(residence.errors[:postal_code]).to include("In order to be verified, you must be registered.")
|
||||
end
|
||||
end
|
||||
|
||||
it "should validate uniquness of document_number" do
|
||||
user = create(:user)
|
||||
residence.user = user
|
||||
|
||||
@@ -325,6 +325,34 @@ describe User do
|
||||
|
||||
end
|
||||
|
||||
describe "scopes" do
|
||||
|
||||
describe "active" do
|
||||
|
||||
it "returns users that have not been erased" do
|
||||
user1 = create(:user, erased_at: nil)
|
||||
user2 = create(:user, erased_at: nil)
|
||||
user3 = create(:user, erased_at: Time.now)
|
||||
|
||||
expect(User.active).to include(user1)
|
||||
expect(User.active).to include(user2)
|
||||
expect(User.active).to_not include(user3)
|
||||
end
|
||||
|
||||
it "returns users that have not been blocked" do
|
||||
user1 = create(:user)
|
||||
user2 = create(:user)
|
||||
user3 = create(:user)
|
||||
user3.block
|
||||
|
||||
expect(User.active).to include(user1)
|
||||
expect(User.active).to include(user2)
|
||||
expect(User.active).to_not include(user3)
|
||||
end
|
||||
|
||||
end
|
||||
end
|
||||
|
||||
describe "self.search" do
|
||||
it "find users by email" do
|
||||
user1 = create(:user, email: "larry@consul.dev")
|
||||
|
||||
Reference in New Issue
Block a user