add specs

This commit is contained in:
Arpit Jalan 2017-05-12 22:28:43 +05:30
parent d718ec31f7
commit 970b026e21
4 changed files with 43 additions and 2 deletions

View File

@ -5,4 +5,4 @@ en:
staff_notes:
official_warning: "Received an official warning from @%{username} -- %{warning_link}"
user_suspended: "@%{username} suspended this account till %{suspended_till}. Reason: %{reason}"
user_suspended: "@%{username} suspended this account until %{suspended_till}. Reason: %{reason}"

View File

@ -152,7 +152,7 @@ after_initialize do
mount ::DiscourseStaffNotes::Engine, at: "/staff_notes"
end
add_model_callback :user_warning, :after_create do
add_model_callback(UserWarning, :after_commit, on: :create) do
user = User.find_by_id(self.user_id)
created_by_user = User.find_by_id(self.created_by_id)
warning_topic = Topic.find_by_id(self.topic_id)

20
spec/user_history_spec.rb Normal file
View File

@ -0,0 +1,20 @@
require 'rails_helper'
describe UserHistory do
let(:user) { Fabricate(:user, suspended_till: 7.days.from_now) }
let(:admin) { Fabricate(:admin) }
describe 'when a user suspension log is created' do
context "staff notes plugin is enabled" do
before do
SiteSetting.staff_notes_enabled = true
end
it "should create staff note for suspension" do
UserHistory.create!({action: UserHistory.actions[:suspend_user], target_user_id: user.id, acting_user_id: admin.id})
expect(PluginStore.get('staff_notes', "notes:#{user.id}")).to be_present
end
end
end
end

21
spec/user_warning_spec.rb Normal file
View File

@ -0,0 +1,21 @@
require 'rails_helper'
describe UserWarning do
let(:user) { Fabricate(:user) }
let(:admin) { Fabricate(:admin) }
let(:topic) { Fabricate(:topic) }
describe 'when a user warning is created' do
context "staff notes plugin is enabled" do
before do
SiteSetting.staff_notes_enabled = true
end
it "should create staff note for warning" do
UserWarning.create({topic_id: topic.id, user_id: user.id, created_by_id: admin.id})
expect(PluginStore.get('staff_notes', "notes:#{user.id}")).to be_present
end
end
end
end