// ***********************************************
// This example commands.js shows you how to
// create various custom commands and overwrite
// existing commands.
//
// For more comprehensive examples of custom
// commands please read more here:
// https://on.cypress.io/custom-commands
// ***********************************************
// -- This is a parent command --
import '@4tw/cypress-drag-drop'

const loginApiUrl = Cypress.env('loginApiUrl');

Cypress.Commands.add('login', () => {
  cy.request({
    method: 'POST',
    url: loginApiUrl,
    form: true,
    body: {
      username: Cypress.env('user').username,
      password: Cypress.env('user').password,
      grant_type: 'password',
    }
  }).then(response => {
    const token = response.body.access_token;
    cy.setCookie('luciaToken', token);
  })
});
// 呼叫方式: cy.login()
// -- This is a child command --
// 點擊空白區關閉 Modal，cy.closePopup()
Cypress.Commands.add('closePopup', () => {
  // 點擊 body 以外的區域，使用 force: true 強制觸發點擊
  cy.get('body').click({ position: 'topLeft'});
  cy.wait(1000);
})
