diff --git a/CHANGELOG.md b/CHANGELOG.md index ac8acd7..5e2e9fd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added ### Fixed +- Fix use of `User#expires_at` in `SpecHelpers#stub_auth_for` (#82) ### Removed diff --git a/lib/rpi_auth/spec_helpers.rb b/lib/rpi_auth/spec_helpers.rb index f371d26..4c6fc8d 100644 --- a/lib/rpi_auth/spec_helpers.rb +++ b/lib/rpi_auth/spec_helpers.rb @@ -6,7 +6,8 @@ module SpecHelpers # model has an `:user_id` method which returns the users ID, but this can # be changed by setting the `id_param` option. def stub_auth_for(user:, id_param: :user_id) # rubocop:disable Metrics/AbcSize - expires_in = user.respond_to?(:expires_at) ? user.expires_at.to_i - Time.zone.now.to_i : 3600 + expires_at = user.respond_to?(:expires_at) && user.expires_at + expires_in = expires_at.present? ? expires_at.to_i - Time.zone.now.to_i : 3600 token = user.respond_to?(:access_token) ? user.access_token : SecureRandom.hex(16) refresh_token = user.respond_to?(:refresh_token) ? user.refresh_token : SecureRandom.hex(16)