describe('Profile', () => {
beforeEach(() => {
Cypress.sinon.replace(liff, 'ready', Promise.resolve());
});
it('render displayName when logged-in', () => {
const profile = {
displayName: 'Test User',
pictureUrl: ''
}
cy.stub(liff, 'isLoggedIn').as('stubIsLoggedIn').returns(true);
cy.stub(liff, 'getProfile').as('stubGetProfile').resolves(profile);
mount(Profile).then(() => {
// access everything in vue instance
expect(Cypress.vue.$data.pictureUrl).to.equal(profile.pictureUrl);
expect(Cypress.vue.$data.displayName).to.equal(profile.displayName);
});
cy.get('[data-testid="pictureUrl"]').should('have.attr', 'src', profile.pictureUrl);
cy.get('[data-testid="name"]').should('have.text', `Name: ${profile.displayName}`);
});
});
Profile.spec.js
Authentication with LINE Login