otwarchive-symphonyarchive/spec/models/admin_activity_spec.rb
2026-03-11 22:22:11 +00:00

36 lines
1 KiB
Ruby

require "spec_helper"
describe AdminActivity do
it "has a valid factory" do
expect(create(:admin_activity)).to be_valid
end
it "is invalid without an admin_id" do
expect(build(:admin_activity, admin_id: nil).valid?).to be_falsey
end
describe ".target_name" do
context "when target is a Pseud" do
let(:pseud) { create(:pseud, name: "aka") }
let!(:activity) { create(:admin_activity, target: pseud) }
it "returns the pseud name and user login for existing pseud" do
expect(activity.target_name).to eq("Pseud aka (#{pseud.user.login})")
end
it "returns the pseud ID for a deleted pseud" do
pseud.destroy
expect(activity.reload.target_name).to eq("Pseud #{pseud.id}")
end
end
context "when target is a Work" do
let(:work) { create(:work) }
let(:activity) { create(:admin_activity, target: work) }
it "returns the work ID" do
expect(activity.target_name).to eq("Work #{work.id}")
end
end
end
end