import { LoginPage, TripSearchPage } from '@admin-lib/index';
import { stagingUsers } from '@fixtures/staging-users';

const { loginEmail, auth0Login } = stagingUsers;

const password = Cypress.env('newUser').NEW_USER_PASSWORD;

describe('Admin: User login', () => {
  it(
    'C127207: [LEGACY] User login and logout with valid credentials',
    { tags: ['@tier1'] },
    () => {
      LoginPage.visitTALoginPage();
      LoginPage.loginWithCredentials(loginEmail.email, password, 'legacy');
      TripSearchPage.selectTripTileType('Business');
      TripSearchPage.selectUserMenuItem('Logout');
      LoginPage.verifyLoginWithEmailOptionIsAvailable();
    }
  );

  it(
    'C365934: [LEGACY] User not allow to login with wrong password',
    { tags: ['@tier1'] },
    () => {
      LoginPage.visitTALoginPage();
      LoginPage.loginWithCredentials(loginEmail.email, 'password', 'legacy');
      LoginPage.verifyIncorrectLoginMessage('legacy');
    }
  );

  it(
    'C127207: [AUTH0] User login and logout with valid credentials',
    { tags: ['@tier1'] },
    () => {
      LoginPage.visitTALoginPage();
      LoginPage.loginWithCredentials(auth0Login.email, password, 'auth0');
      TripSearchPage.selectTripTileType('Business');
      TripSearchPage.selectUserMenuItem('Logout');
      LoginPage.verifyLoginWithEmailOptionIsAvailable();
    }
  );

  it(
    'C365934: [AUTH0] User not allow to login with wrong password',
    { tags: ['@tier1'] },
    () => {
      LoginPage.visitTALoginPage();
      LoginPage.loginWithCredentials(auth0Login.email, 'password', 'auth0');
      LoginPage.verifyIncorrectLoginMessage('auth0');
    }
  );
});
