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.
51 lines
1.4 KiB
51 lines
1.4 KiB
describe('User Profile', () => {
|
|
beforeEach(() => {
|
|
cy.loginAsAdmin();
|
|
});
|
|
|
|
it('opens user profile page from the home page', () => {
|
|
cy.visit('/');
|
|
|
|
cy.get('[data-testid=user-menu]').click();
|
|
cy.get('[data-testid=user-menu-profile]').click();
|
|
|
|
cy.get('h1').should('contain', Cypress.env('ADMIN_EMAIL'));
|
|
});
|
|
|
|
it('loads plex watchlist', () => {
|
|
cy.intercept('/api/v1/user/[0-9]*/watchlist', {
|
|
fixture: 'watchlist.json',
|
|
}).as('getWatchlist');
|
|
// Wait for one of the watchlist movies to resolve
|
|
cy.intercept('/api/v1/movie/361743').as('getTmdbMovie');
|
|
|
|
cy.visit('/profile');
|
|
|
|
cy.wait('@getWatchlist');
|
|
|
|
const sliderHeader = cy.contains('.slider-header', 'Plex Watchlist');
|
|
|
|
sliderHeader.scrollIntoView();
|
|
|
|
cy.wait('@getTmdbMovie');
|
|
// Wait a little longer to make sure the movie component reloaded
|
|
cy.wait(500);
|
|
|
|
sliderHeader
|
|
.next('[data-testid=media-slider]')
|
|
.find('[data-testid=title-card]')
|
|
.first()
|
|
.trigger('mouseover')
|
|
.find('[data-testid=title-card-title]')
|
|
.invoke('text')
|
|
.then((text) => {
|
|
cy.contains('.slider-header', 'Plex Watchlist')
|
|
.next('[data-testid=media-slider]')
|
|
.find('[data-testid=title-card]')
|
|
.first()
|
|
.click();
|
|
cy.get('[data-testid=media-title]').should('contain', text);
|
|
});
|
|
});
|
|
});
|