From 689c00bd4fd1caf43e7f9782baec34b198642b86 Mon Sep 17 00:00:00 2001 From: Nolan Lawson Date: Mon, 19 Feb 2018 10:59:03 -0800 Subject: [PATCH] add test for account profiles --- cypress/integration/07-account-profile.js | 41 +++++++++++++++++++++++ routes/_components/AccountProfile.html | 11 +++--- 2 files changed, 48 insertions(+), 4 deletions(-) create mode 100644 cypress/integration/07-account-profile.js diff --git a/cypress/integration/07-account-profile.js b/cypress/integration/07-account-profile.js new file mode 100644 index 0000000..943dcc8 --- /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 6b7d5bc..5851010 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 @@