Hello world

First open source release of Campfire 🎉
This commit is contained in:
Kevin McConnell committed 2025-08-21 09:31:59 +01:00
commit df76a227dc
664 files changed
+36235

No files matched your search

+41
View File
@@ -0,0 +1,41 @@
require "test_helper"
class User::BotTest < ActiveSupport::TestCase
test "create bot" do
token = "5M0aLYwQyBXOXa5Wsz6NZb11EE4tW2"
SecureRandom.stubs(:alphanumeric).returns(token)
uuid = "3574925f-479d-44f8-82b7-fc039af5367c"
Random.stubs(:uuid).returns(uuid)
bot = User.create_bot!(name: "Bender")
assert_equal "#{bot.id}-#{token}", bot.bot_key
end
test "reset bot key" do
first_token = "5M0aLYwQyBXOXa5Wsz6NZb11EE4tW2"
SecureRandom.stubs(:alphanumeric).returns(first_token)
bot = User.create_bot!(name: "Bender")
assert_equal "#{bot.id}-#{first_token}", bot.bot_key
second_token = "R4kme9anwWRuz3sSoBXiB8Li8ioZPP"
SecureRandom.stubs(:alphanumeric).returns(second_token)
bot.reset_bot_key
assert_equal "#{bot.id}-#{second_token}", bot.bot_key
end
test "authenticate" do
bot = User.create_bot!(name: "Bender")
assert User.authenticate_bot(bot.bot_key)
end
test "deliver message by webhook" do
WebMock.stub_request(:post, webhooks(:bender).url).to_return(status: 200)
perform_enqueued_jobs only: Bot::WebhookJob do
users(:bender).deliver_webhook_later(messages(:first))
end
end
end
+23
View File
@@ -0,0 +1,23 @@
require "test_helper"
class User::RoleTest < ActiveSupport::TestCase
test "creating subsequent users makes them members" do
assert User.create!(name: "User", email_address: "user@example.com", password: "secret123456").member?
end
test "can_administer?" do
assert User.new(role: :administrator).can_administer?
assert_not User.new(role: :member).can_administer?
assert_not User.new.can_administer?
end
test "can administer a record" do
member = User.new(role: :member)
assert member.can_administer?(Room.new(creator: member))
another_member = User.new(role: :member)
assert another_member.can_administer?(Room.new(creator: member))
assert_not another_member.can_administer?(rooms(:designers))
end
end