profile_stories.rb 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. # frozen_string_literal: true
  2. module ProfileStories
  3. attr_reader :bob, :alice, :alice_bio
  4. def as_a_registered_user
  5. @bob = Fabricate(
  6. :user,
  7. email: email, password: password, confirmed_at: confirmed_at,
  8. account: Fabricate(:account, username: 'bob')
  9. )
  10. Web::Setting.where(user: bob).first_or_initialize(user: bob).update!(data: { introductionVersion: 201812160442020 }) if finished_onboarding # rubocop:disable Style/NumericLiterals
  11. end
  12. def as_a_logged_in_user
  13. as_a_registered_user
  14. visit new_user_session_path
  15. fill_in 'user_email', with: email
  16. fill_in 'user_password', with: password
  17. click_on I18n.t('auth.login')
  18. end
  19. def with_alice_as_local_user
  20. @alice_bio = '@alice and @bob are fictional characters commonly used as' \
  21. 'placeholder names in #cryptology, as well as #science and' \
  22. 'engineering 📖 literature. Not affiliated with @pepe.'
  23. @alice = Fabricate(
  24. :user,
  25. email: 'alice@example.com', password: password, confirmed_at: confirmed_at,
  26. account: Fabricate(:account, username: 'alice', note: @alice_bio)
  27. )
  28. end
  29. def confirmed_at
  30. @confirmed_at ||= Time.zone.now
  31. end
  32. def email
  33. @email ||= 'test@example.com'
  34. end
  35. def password
  36. @password ||= 'password'
  37. end
  38. def finished_onboarding
  39. @finished_onboarding || false
  40. end
  41. end