// We need this lint rule for now because these are only dev-dependencies
/* eslint-disable import/no-extraneous-dependencies */
/*!
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

import '@testing-library/jest-dom';
import axios from 'axios';
import { setLogger } from 'react-query';

// eslint-disable-next-line import/no-extraneous-dependencies
import moment from 'moment-timezone';

axios.defaults.adapter = require('axios/lib/adapters/http');

axios.interceptors.response.use(
  (res) => res.data || res,
);

setLogger({
  log: console.log,
  warn: console.warn,
  // ✅ no more errors on the console
  error: () => {},
});

// Mock global objects we use across the app
global.stateColors = {
  deferred: 'mediumpurple',
  failed: 'red',
  queued: 'gray',
  removed: 'lightgrey',
  restarting: 'violet',
  running: 'lime',
  scheduled: 'tan',
  shutdown: 'blue',
  skipped: 'hotpink',
  success: 'green',
  up_for_reschedule: 'turquoise',
  up_for_retry: 'gold',
  upstream_failed: 'orange',
};

global.defaultDagRunDisplayNumber = 245;

global.moment = moment;
