From b99866962f2ccb9cd35ee6744363468bc661e03c Mon Sep 17 00:00:00 2001 From: natdeanlewissoftwire Date: Mon, 18 Mar 2024 08:53:28 +0000 Subject: [PATCH] feat: update tests --- spec/models/user_spec.rb | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/spec/models/user_spec.rb b/spec/models/user_spec.rb index c272320b2..7e4bbb13d 100644 --- a/spec/models/user_spec.rb +++ b/spec/models/user_spec.rb @@ -481,4 +481,40 @@ RSpec.describe User, type: :model do end end end + + describe "#status" do + let(:user) { create(:user) } + + it "returns :deactivated for deactivated users" do + user.active = false + + expect(user.status).to eq(:deactivated) + end + + it "returns :unconfirmed for a user with no confirmed_at" do + user.confirmed_at = nil + + expect(user.status).to eq(:unconfirmed) + end + + it "returns :deactivated for a user with no confirmed_at and active false" do + user.confirmed_at = nil + user.active = false + + expect(user.status).to eq(:deactivated) + end + + it "returns :unconfirmed for a user with no confirmed_at and active true" do + user.confirmed_at = nil + user.active = true + + expect(user.status).to eq(:unconfirmed) + end + it "returns :active for a user with active status and confirmation date" do + user.active = true + user.confirmed_at = Time.zone.yesterday + + expect(user.status).to eq(:active) + end + end end