You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
53 lines
1.5 KiB
53 lines
1.5 KiB
# 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' |
|
first('.btn[type=submit]').click |
|
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
|
|
|