/// <reference types="cypress" />

import makeFakeUser from '../../factories/user';

describe('Account Preferences Feature', () => {
  beforeEach(() => {
    // Log in to the application or navigate to the account page
    // where the change email feature is available
    const currentUser = makeFakeUser({
      email: 'sam@example.com',
      recording_pref: 0
    });
    cy.stubAuthenticate({ ...currentUser });
    cy.intercept('POST', /\S+\/users\S+/, {
      statusCode: 200
    }).as('updateUser');
    cy.visit('/account/preferences');
  });

  it('should display the current recording preference', () => {
    // Assert that the current recording preference is displayed
    cy.get('[data-testid=recording_pref_none]').should('be.checked');
  });

  it('should save the new recording preference', () => {
    // Select a new recording preference
    cy.get('[data-testid=recording_pref_my_audio]').check('1');
    cy.wait('@updateUser');
    // Assert that the new recording preference is saved
    cy.contains('Recording preference saved successfully.');
  });

});

