diff --git a/cypress/integration/07-account-profile.js b/cypress/integration/07-account-profile.js new file mode 100644 index 00000000..943dcc80 --- /dev/null +++ b/cypress/integration/07-account-profile.js @@ -0,0 +1,41 @@ +describe('07-account-profile.js', () => { + beforeEach(() => { + cy.login('foobar@localhost:3000', 'foobarfoobar') + cy.wait(500) + }) + + it('shows account profile', () => { + cy.get('.status-author-name').contains('quux').click() + cy.url().should('contain', '/accounts/3') + cy.wait(500) + cy.get('.account-profile .account-profile-name').should('contain', 'quux') + cy.get('.account-profile .account-profile-username').should('contain', '@quux') + cy.get('.account-profile .account-profile-followed-by').should('contain', 'Follows you') + cy.get('.account-profile .account-profile-follow button') + .should('have.attr', 'aria-label', 'Follow') + .and('have.attr', 'aria-pressed', 'false') + }) + + it('shows account profile 2', () => { + cy.get('.status-author-name').contains('admin').click() + cy.url().should('contain', '/accounts/1') + cy.wait(500) + cy.get('.account-profile .account-profile-name').should('contain', 'admin') + cy.get('.account-profile .account-profile-username').should('contain', '@admin') + cy.get('.account-profile .account-profile-followed-by').should('contain', 'Follows you') + cy.get('.account-profile .account-profile-follow button') + .should('have.attr', 'aria-label', 'Unfollow') + .and('have.attr', 'aria-pressed', 'true') + }) + + it('shows account profile 3', () => { + cy.get('.mention').contains('foobar').click() + cy.url().should('contain', '/accounts/2') + cy.wait(500) + cy.get('.account-profile .account-profile-name').should('contain', 'foobar') + cy.get('.account-profile .account-profile-username').should('contain', '@foobar') + // can't follow or be followed by your own account + cy.get('.account-profile .account-profile-followed-by').should('be.empty') + cy.get('.account-profile .account-profile-follow').should('be.empty') + }) +}) diff --git a/routes/_components/AccountProfile.html b/routes/_components/AccountProfile.html index 6b7d5bca..5851010c 100644 --- a/routes/_components/AccountProfile.html +++ b/routes/_components/AccountProfile.html @@ -8,7 +8,7 @@
- {{profile.display_name}} + {{profile.display_name || profile.acct}}
@@ -24,8 +24,10 @@
{{#if verifyCredentials && relationship && verifyCredentials.id !== relationship.id}} {{/if}} @@ -195,7 +197,8 @@ note = `

${note}

` } return note - } + }, + following: (relationship) => relationship && relationship.following }, store: () => store, components: {