54 lines
1.5 KiB
Ruby
54 lines
1.5 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'rails_helper'
|
|
|
|
feature 'Profile' do
|
|
include ProfileStories
|
|
|
|
given(:local_domain) { ENV['LOCAL_DOMAIN'] }
|
|
|
|
background do
|
|
as_a_logged_in_user
|
|
with_alice_as_local_user
|
|
end
|
|
|
|
subject { page }
|
|
|
|
scenario 'I can view Annes public account' do
|
|
visit account_path('alice')
|
|
|
|
is_expected.to have_title("alice (@alice@#{local_domain})")
|
|
|
|
within('.public-account-header h1') do
|
|
is_expected.to have_content("alice @alice@#{local_domain}")
|
|
end
|
|
|
|
bio_elem = first('.public-account-bio')
|
|
expect(bio_elem).to have_content(alice_bio)
|
|
# The bio has hashtags made clickable
|
|
expect(bio_elem).to have_link('cryptology')
|
|
expect(bio_elem).to have_link('science')
|
|
# Nicknames are make clickable
|
|
expect(bio_elem).to have_link('@alice')
|
|
expect(bio_elem).to have_link('@bob')
|
|
# Nicknames not on server are not clickable
|
|
expect(bio_elem).not_to have_link('@pepe')
|
|
end
|
|
|
|
scenario 'I can change my account' do
|
|
visit settings_profile_path
|
|
fill_in 'Display name', with: 'Bob'
|
|
fill_in 'Bio', with: 'Bob is silent'
|
|
click_on 'Save changes'
|
|
is_expected.to have_content 'Changes successfully saved!'
|
|
|
|
# View my own public profile and see the changes
|
|
click_link "Bob @bob@#{local_domain}"
|
|
|
|
within('.public-account-header h1') do
|
|
is_expected.to have_content("Bob @bob@#{local_domain}")
|
|
end
|
|
expect(first('.public-account-bio')).to have_content('Bob is silent')
|
|
end
|
|
end
|