manager notifications
This commit is contained in:
194
test/fixtures/answers.yml
vendored
194
test/fixtures/answers.yml
vendored
@ -696,3 +696,197 @@ wade10:
|
||||
created_at: <%= DateTime.now() - 36.hours - 40.minutes %>
|
||||
updated_at: <%= DateTime.now() - 36.hours - 20.minutes %>
|
||||
|
||||
jorge1:
|
||||
candidate: jorge
|
||||
question: Cras justo odio, dapibus ac facilisis in, egestas eget quam. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit.
|
||||
answer: option 3
|
||||
saved: 0
|
||||
submitted: true
|
||||
created_at: <%= DateTime.now() - 36.hours - 22.minutes %>
|
||||
updated_at: <%= DateTime.now() - 36.hours - 22.minutes %>
|
||||
|
||||
jorge2:
|
||||
candidate: jorge
|
||||
question: fed2
|
||||
answer: 'indexOf()'
|
||||
saved: 0
|
||||
submitted: true
|
||||
created_at: <%= DateTime.now() - 36.hours - 24.minutes %>
|
||||
updated_at: <%= DateTime.now() - 36.hours - 4.minutes %>
|
||||
|
||||
jorge3:
|
||||
candidate: jorge
|
||||
question: fed3
|
||||
answer: {html: '<h1>Salmon</h1>', css: 'h1 {color: salmon;}', js: '', text: 'Gotta lotta GOOD things on sale, strangah.'}
|
||||
saved: 0
|
||||
submitted: true
|
||||
created_at: <%= DateTime.now() - 36.hours - 26.minutes %>
|
||||
updated_at: <%= DateTime.now() - 36.hours - 6.minutes %>
|
||||
|
||||
jorge4:
|
||||
candidate: jorge
|
||||
question: fed4
|
||||
answer: Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
|
||||
saved: 0
|
||||
submitted: true
|
||||
created_at: <%= DateTime.now() - 36.hours - 28.minutes %>
|
||||
updated_at: <%= DateTime.now() - 36.hours - 28.minutes %>
|
||||
|
||||
jorge5:
|
||||
candidate: jorge
|
||||
question: fed5
|
||||
answer: 'Dynamic listeners'
|
||||
saved: 0
|
||||
submitted: true
|
||||
created_at: <%= DateTime.now() - 36.hours - 30.minutes %>
|
||||
updated_at: <%= DateTime.now() - 36.hours - 30.minutes %>
|
||||
|
||||
jorge6:
|
||||
candidate: jorge
|
||||
question: fed6
|
||||
answer: Integer posuere erat a ante venenatis dapibus posuere velit aliquet.
|
||||
saved: 0
|
||||
submitted: true
|
||||
created_at: <%= DateTime.now() - 36.hours - 32.minutes %>
|
||||
updated_at: <%= DateTime.now() - 36.hours - 12.minutes %>
|
||||
|
||||
jorge7:
|
||||
candidate: jorge
|
||||
question: fed7
|
||||
answer: {html: '<p>This means <strong>jQuery</strong> needs to be available in live-coder!</p>', css: "strong {font-size: 1.6em;}\n.green {color: green;}", js: '$("strong").addClass("green");'}
|
||||
saved: 0
|
||||
submitted: true
|
||||
created_at: <%= DateTime.now() - 36.hours - 34.minutes %>
|
||||
updated_at: <%= DateTime.now() - 36.hours - 14.minutes %>
|
||||
|
||||
jorge8:
|
||||
candidate: jorge
|
||||
question: fed8
|
||||
answer:
|
||||
other: Some generic user input
|
||||
options:
|
||||
- other
|
||||
saved: 0
|
||||
submitted: true
|
||||
created_at: <%= DateTime.now() - 36.hours - 36.minutes %>
|
||||
updated_at: <%= DateTime.now() - 36.hours - 16.minutes %>
|
||||
|
||||
jorge9:
|
||||
candidate: jorge
|
||||
question: fed9
|
||||
answer:
|
||||
other: Brunch
|
||||
options:
|
||||
- Neither
|
||||
- other
|
||||
saved: 0
|
||||
submitted: true
|
||||
created_at: <%= DateTime.now() - 36.hours - 38.minutes %>
|
||||
updated_at: <%= DateTime.now() - 36.hours - 18.minutes %>
|
||||
|
||||
jorge10:
|
||||
candidate: jorge
|
||||
question: fed10
|
||||
answer: ["Live long and prosper", "Who you calling Scruffy?"]
|
||||
saved: 0
|
||||
submitted: true
|
||||
created_at: <%= DateTime.now() - 36.hours - 40.minutes %>
|
||||
updated_at: <%= DateTime.now() - 36.hours - 20.minutes %>
|
||||
|
||||
elsie1:
|
||||
candidate: elsie
|
||||
question: Cras justo odio, dapibus ac facilisis in, egestas eget quam. Integer posuere erat a ante venenatis dapibus posuere velit aliquet. Fusce dapibus, tellus ac cursus commodo, tortor mauris condimentum nibh, ut fermentum massa justo sit amet risus. Nullam id dolor id nibh ultricies vehicula ut id elit.
|
||||
answer: option 3
|
||||
saved: 0
|
||||
submitted: true
|
||||
created_at: <%= DateTime.now() - 36.hours - 22.minutes %>
|
||||
updated_at: <%= DateTime.now() - 36.hours - 22.minutes %>
|
||||
|
||||
elsie2:
|
||||
candidate: elsie
|
||||
question: fed2
|
||||
answer: 'indexOf()'
|
||||
saved: 0
|
||||
submitted: true
|
||||
created_at: <%= DateTime.now() - 36.hours - 24.minutes %>
|
||||
updated_at: <%= DateTime.now() - 36.hours - 4.minutes %>
|
||||
|
||||
elsie3:
|
||||
candidate: elsie
|
||||
question: fed3
|
||||
answer: {html: '<h1>Salmon</h1>', css: 'h1 {color: salmon;}', js: '', text: 'Gotta lotta GOOD things on sale, strangah.'}
|
||||
saved: 0
|
||||
submitted: true
|
||||
created_at: <%= DateTime.now() - 36.hours - 26.minutes %>
|
||||
updated_at: <%= DateTime.now() - 36.hours - 6.minutes %>
|
||||
|
||||
elsie4:
|
||||
candidate: elsie
|
||||
question: fed4
|
||||
answer: Duis mollis, est non commodo luctus, nisi erat porttitor ligula, eget lacinia odio sem nec elit. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus.
|
||||
saved: 0
|
||||
submitted: true
|
||||
created_at: <%= DateTime.now() - 36.hours - 28.minutes %>
|
||||
updated_at: <%= DateTime.now() - 36.hours - 28.minutes %>
|
||||
|
||||
elsie5:
|
||||
candidate: elsie
|
||||
question: fed5
|
||||
answer: 'Dynamic listeners'
|
||||
saved: 0
|
||||
submitted: true
|
||||
created_at: <%= DateTime.now() - 36.hours - 30.minutes %>
|
||||
updated_at: <%= DateTime.now() - 36.hours - 30.minutes %>
|
||||
|
||||
elsie6:
|
||||
candidate: elsie
|
||||
question: fed6
|
||||
answer: Integer posuere erat a ante venenatis dapibus posuere velit aliquet.
|
||||
saved: 0
|
||||
submitted: true
|
||||
created_at: <%= DateTime.now() - 36.hours - 32.minutes %>
|
||||
updated_at: <%= DateTime.now() - 36.hours - 12.minutes %>
|
||||
|
||||
elsie7:
|
||||
candidate: elsie
|
||||
question: fed7
|
||||
answer: {html: '<p>This means <strong>jQuery</strong> needs to be available in live-coder!</p>', css: "strong {font-size: 1.6em;}\n.green {color: green;}", js: '$("strong").addClass("green");'}
|
||||
saved: 0
|
||||
submitted: true
|
||||
created_at: <%= DateTime.now() - 36.hours - 34.minutes %>
|
||||
updated_at: <%= DateTime.now() - 36.hours - 14.minutes %>
|
||||
|
||||
elsie8:
|
||||
candidate: elsie
|
||||
question: fed8
|
||||
answer:
|
||||
other: Some generic user input
|
||||
options:
|
||||
- other
|
||||
saved: 0
|
||||
submitted: true
|
||||
created_at: <%= DateTime.now() - 36.hours - 36.minutes %>
|
||||
updated_at: <%= DateTime.now() - 36.hours - 16.minutes %>
|
||||
|
||||
elsie9:
|
||||
candidate: elsie
|
||||
question: fed9
|
||||
answer:
|
||||
other: Brunch
|
||||
options:
|
||||
- Neither
|
||||
- other
|
||||
saved: 0
|
||||
submitted: true
|
||||
created_at: <%= DateTime.now() - 36.hours - 38.minutes %>
|
||||
updated_at: <%= DateTime.now() - 36.hours - 18.minutes %>
|
||||
|
||||
elsie10:
|
||||
candidate: elsie
|
||||
question: fed10
|
||||
answer: ["Live long and prosper", "Who you calling Scruffy?"]
|
||||
saved: 0
|
||||
submitted: true
|
||||
created_at: <%= DateTime.now() - 36.hours - 40.minutes %>
|
||||
updated_at: <%= DateTime.now() - 36.hours - 20.minutes %>
|
||||
|
||||
|
24
test/fixtures/candidates.yml
vendored
24
test/fixtures/candidates.yml
vendored
@ -116,6 +116,30 @@ wade: # Wade has completed AND submitted the test
|
||||
reminded: false
|
||||
test_hash: BkSkpapJnkz2N
|
||||
|
||||
jorge: # Jorge has completed AND submitted the test
|
||||
name: Jorge Holmes
|
||||
email: <%= CryptSerializer.dump 'jorge.holmes@mailinator.com' %>
|
||||
experience: 0-3
|
||||
project: Client/Project
|
||||
recruiter: recruiter
|
||||
quiz: fed
|
||||
completed: true
|
||||
completed_at: <%= DateTime.current %>
|
||||
reminded: false
|
||||
test_hash: iC5FdWJxcyySBmpOpU
|
||||
|
||||
elsie: # Elsie has completed AND submitted the test
|
||||
name: Elsie Lowe
|
||||
email: <%= CryptSerializer.dump 'elsie.lowe@mailinator.com' %>
|
||||
experience: 0-3
|
||||
project: Client/Project
|
||||
recruiter: recruiter
|
||||
quiz: fed
|
||||
completed: true
|
||||
completed_at: <%= DateTime.current %>
|
||||
reminded: false
|
||||
test_hash: rLSoizA3ATMNSCx
|
||||
|
||||
gustov: # Gustov is NOT for FED
|
||||
name: Gustov
|
||||
email: <%= CryptSerializer.dump 'gustov@mailinator.com' %>
|
||||
|
27
test/fixtures/reviewer_votes.yml
vendored
27
test/fixtures/reviewer_votes.yml
vendored
@ -66,3 +66,30 @@ reviewer2_wade:
|
||||
candidate: wade
|
||||
user: reviewer2
|
||||
|
||||
|
||||
manager_jorge:
|
||||
candidate: jorge
|
||||
user: manager
|
||||
|
||||
reviewer_jorge:
|
||||
candidate: jorge
|
||||
user: reviewer
|
||||
vote: 1
|
||||
|
||||
reviewer2_jorge:
|
||||
candidate: jorge
|
||||
user: reviewer2
|
||||
|
||||
|
||||
manager_elsie:
|
||||
candidate: elsie
|
||||
user: manager
|
||||
|
||||
reviewer_elsie:
|
||||
candidate: elsie
|
||||
user: reviewer
|
||||
|
||||
reviewer2_elsie:
|
||||
candidate: elsie
|
||||
user: reviewer2
|
||||
|
||||
|
@ -12,10 +12,11 @@ class ReviewerVoteTest < ActiveSupport::TestCase
|
||||
assert_equal 3, richard.votes.size
|
||||
end
|
||||
|
||||
test "manager has 4 votes" do
|
||||
test "manager has a vote for every completed quiz" do
|
||||
manager = users(:manager)
|
||||
completed_count = Candidate.where(completed: true).count
|
||||
|
||||
assert_equal 4, manager.votes.size
|
||||
assert_equal completed_count, manager.votes.size
|
||||
end
|
||||
|
||||
test "richard has been approved" do
|
||||
@ -31,4 +32,22 @@ class ReviewerVoteTest < ActiveSupport::TestCase
|
||||
assert stacy.declined?
|
||||
refute stacy.approved?
|
||||
end
|
||||
|
||||
test "mailer is queued on last vote" do
|
||||
reviewer = users(:reviewer2)
|
||||
candidate = candidates(:jorge)
|
||||
|
||||
assert_difference("ActionMailer::Base.deliveries.size", 1) do
|
||||
reviewer.cast_yea_on(candidate)
|
||||
end
|
||||
end
|
||||
|
||||
test "mailer is NOT queued on first vote" do
|
||||
reviewer = users(:reviewer2)
|
||||
candidate = candidates(:elsie)
|
||||
|
||||
assert_difference("ActionMailer::Base.deliveries.size", 0) do
|
||||
reviewer.cast_yea_on(candidate)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
Reference in New Issue
Block a user