adds specs
This commit is contained in:
@@ -345,10 +345,13 @@ FactoryGirl.define do
|
||||
end
|
||||
|
||||
factory :signature_sheet do
|
||||
|
||||
association :signable, factory: :proposal
|
||||
association :author, factory: :user
|
||||
document_numbers "123A, 456B, 789C"
|
||||
end
|
||||
|
||||
factory :signature do
|
||||
|
||||
signature_sheet
|
||||
sequence(:document_number) { |n| "#{n}A" }
|
||||
end
|
||||
end
|
||||
|
||||
@@ -2,29 +2,67 @@ require 'rails_helper'
|
||||
|
||||
describe SignatureSheet do
|
||||
|
||||
let(:signature_sheet) { build(:signature_sheet) }
|
||||
|
||||
describe "validations" do
|
||||
it "should be valid"
|
||||
it "should not be valid without a valid signable"
|
||||
it "should not be valid without document numbers"
|
||||
it "should not be valid without an author"
|
||||
|
||||
it "should be valid" do
|
||||
expect(signature_sheet).to be_valid
|
||||
end
|
||||
|
||||
it "should not be valid without a valid signable" do
|
||||
signature_sheet.signable = nil
|
||||
expect(signature_sheet).to_not be_valid
|
||||
end
|
||||
|
||||
it "should not be valid without document numbers" do
|
||||
signature_sheet.document_numbers = nil
|
||||
expect(signature_sheet).to_not be_valid
|
||||
end
|
||||
|
||||
it "should not be valid without an author" do
|
||||
signature_sheet.author = nil
|
||||
expect(signature_sheet).to_not be_valid
|
||||
end
|
||||
end
|
||||
|
||||
describe "name" do
|
||||
it "returns name for proposal signature sheets"
|
||||
it "returns name for spending proposal signature sheets"
|
||||
describe "#name" do
|
||||
it "returns name for proposal signature sheets" do
|
||||
proposal = create(:proposal)
|
||||
signature_sheet.signable = proposal
|
||||
|
||||
expect(signature_sheet.name).to eq("Citizen proposal #{proposal.id}")
|
||||
end
|
||||
it "returns name for spending proposal signature sheets" do
|
||||
spending_proposal = create(:spending_proposal)
|
||||
signature_sheet.signable = spending_proposal
|
||||
|
||||
expect(signature_sheet.name).to eq("Spending proposal #{spending_proposal.id}")
|
||||
end
|
||||
end
|
||||
|
||||
describe "verify_signatures" do
|
||||
it "marks signature sheet as processed after verifing all document numbers"
|
||||
describe "#verify_signatures" do
|
||||
it "creates signatures for each document number" do
|
||||
signature_sheet = create(:signature_sheet, document_numbers: "123A, 456B")
|
||||
signature_sheet.verify_signatures
|
||||
|
||||
expect(Signature.count).to eq(2)
|
||||
end
|
||||
|
||||
it "marks signature sheet as processed" do
|
||||
signature_sheet = create(:signature_sheet)
|
||||
signature_sheet.verify_signatures
|
||||
|
||||
expect(signature_sheet.processed).to eq(true)
|
||||
end
|
||||
end
|
||||
|
||||
describe "invalid_signatures" do
|
||||
it "returns invalid signatures"
|
||||
it "does not return valid signatures"
|
||||
end
|
||||
describe "#parsed_document_numbers" do
|
||||
it "returns an array after spliting document numbers by newlines or commas" do
|
||||
signature_sheet.document_numbers = "123A\r\n456B\n789C,123B"
|
||||
|
||||
describe "parsed_document_numbers" do
|
||||
it "returns an array after spliting document numbers by newlines"
|
||||
expect(signature_sheet.parsed_document_numbers).to eq(['123A', '456B', '789C', '123B'])
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
@@ -1,6 +1,6 @@
|
||||
require 'rails_helper'
|
||||
|
||||
describe Signature
|
||||
describe Signature do
|
||||
|
||||
describe "validations" do
|
||||
it "should be valid"
|
||||
@@ -9,25 +9,25 @@ describe Signature
|
||||
it "should not be valid if not in census"
|
||||
end
|
||||
|
||||
describe "in census" do
|
||||
describe "#in_census" do
|
||||
it "checks for all document_types"
|
||||
end
|
||||
|
||||
describe "verify" do
|
||||
describe "#verify" do
|
||||
|
||||
describie "valid" do
|
||||
describe "valid" do
|
||||
it "sets status to verified"
|
||||
it "asigns vote to user"
|
||||
end
|
||||
|
||||
describe "invalid"
|
||||
describe "invalid" do
|
||||
it "sets status to error"
|
||||
it "does not asign any votes"
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
describe "assign vote" do
|
||||
describe "#assign_vote" do
|
||||
|
||||
describe "existing user" do
|
||||
it "assigns vote to user"
|
||||
|
||||
Reference in New Issue
Block a user