mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 16:34:31 +08:00
Log when and why an email was not sent in email_logs
This commit is contained in:
@ -6,24 +6,35 @@ describe EmailLog do
|
||||
it { should validate_presence_of :to_address }
|
||||
it { should validate_presence_of :email_type }
|
||||
|
||||
let(:user) { Fabricate(:user) }
|
||||
|
||||
context 'after_create' do
|
||||
|
||||
context 'with user' do
|
||||
let(:user) { Fabricate(:user) }
|
||||
|
||||
it 'updates the last_emailed_at value for the user' do
|
||||
lambda {
|
||||
user.email_logs.create(email_type: 'blah', to_address: user.email)
|
||||
user.reload
|
||||
}.should change(user, :last_emailed_at)
|
||||
end
|
||||
end
|
||||
|
||||
it "doesn't update last_emailed_at if skipped is true" do
|
||||
expect {
|
||||
user.email_logs.create(email_type: 'blah', to_address: user.email, skipped: true)
|
||||
user.reload
|
||||
}.to_not change { user.last_emailed_at }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
describe '#count_per_day' do
|
||||
it "counts sent emails" do
|
||||
user.email_logs.create(email_type: 'blah', to_address: user.email)
|
||||
user.email_logs.create(email_type: 'blah', to_address: user.email, skipped: true)
|
||||
described_class.count_per_day.first[1].should == 1
|
||||
end
|
||||
end
|
||||
|
||||
describe ".last_sent_email_address" do
|
||||
let(:user) { Fabricate(:user) }
|
||||
|
||||
context "when user's email exist in the logs" do
|
||||
before do
|
||||
user.email_logs.create(email_type: 'signup', to_address: user.email)
|
||||
|
Reference in New Issue
Block a user