test: add tests for Server model

This commit is contained in:
Adam Cooke
2024-02-23 22:51:34 +00:00
committed by Adam Cooke
parent 8b61100082
commit 2023200d91
19 changed files with 707 additions and 64 deletions
+36
View File
@@ -0,0 +1,36 @@
# frozen_string_literal: true
require "rails_helper"
describe User do
context "model" do
subject(:user) { create(:user) }
it "should have a UUID" do
expect(user.uuid).to be_a String
expect(user.uuid.length).to eq 36
end
end
context ".authenticate" do
it "should not authenticate users with invalid emails" do
expect { User.authenticate("nothing@nothing.com", "hello") }.to raise_error(Postal::Errors::AuthenticationError) do |e|
expect(e.error).to eq "InvalidEmailAddress"
end
end
it "should not authenticate users with invalid passwords" do
user = create(:user)
expect { User.authenticate(user.email_address, "hello") }.to raise_error(Postal::Errors::AuthenticationError) do |e|
expect(e.error).to eq "InvalidPassword"
end
end
it "should authenticate valid users" do
user = create(:user)
auth_user = nil
expect { auth_user = User.authenticate(user.email_address, "passw0rd") }.to_not raise_error
expect(auth_user).to eq user
end
end
end