import React from 'react';
import {render} from '@testing-library/react';
import {LocalizedComponent} from '../../test/testHelpers';
import TractDemographics from './TractDemographics';

const propertiesAS = {
  'GEOID10': '60010950300',
  'SF': 'American Samoa',
  'M_WTR': false,
  'M_WKFC': true,
  'M_CLT': false,
  'M_ENY': false,
  'M_TRN': false,
  'M_HSG': false,
  'M_PLN': false,
  'M_HLTH': false,
  'SM_C': true,
  'SM_DON': false,
  'SM_NO_DON': true,
  'EPLRLI': false,
  'EALRLI': false,
  'EBLRLI': false,
  'PM25LI': false,
  'EBLI': false,
  'DPMLI': false,
  'TPLI': false,
  'LPMHVLI': false,
  'HBLI': false,
  'RMPLI': false,
  'SFLI': false,
  'HWLI': false,
  'WDLI': false,
  'USTLI': false,
  'DLI': false,
  'ALI': false,
  'HDLI': false,
  'LLELI': false,
  'LILHSE': false,
  'PLHSE': false,
  'LMILHSE': false,
  'ULHSE': false,
  'EPL_ET': false,
  'EAL_ET': false,
  'EBL_ET': false,
  'EB_ET': false,
  'PM25_ET': false,
  'DS_ET': false,
  'TP_ET': false,
  'LPP_ET': false,
  'KP_ET': false,
  'HB_ET': false,
  'RMP_ET': false,
  'NPL_ET': false,
  'TSDF_ET': false,
  'WD_ET': false,
  'UST_ET': false,
  'DB_ET': false,
  'A_ET': false,
  'HD_ET': false,
  'LLE_ET': false,
  'UN_ET': false,
  'LISO_ET': false,
  'POV_ET': false,
  'LMI_ET': false,
  'IA_LMI_ET': false,
  'IA_UN_ET': false,
  'IA_POV_ET': true,
  'TC': 1,
  'CC': 1,
  'IAULHSE': false,
  'IAPLHSE': true,
  'IALMILHSE': false,
  'IALMILHSE_PFS': 0.27,
  'IAPLHSE_PFS': 0.98,
  'IAULHSE_PFS': 0.75,
  'LHE': false,
  'IALHE': true,
  'IAHSEF': 0.52,
  'CA_LT20': false,
  'M_CLT_EOMI': false,
  'M_ENY_EOMI': false,
  'M_TRN_EOMI': false,
  'M_HSG_EOMI': false,
  'M_PLN_EOMI': false,
  'M_WTR_EOMI': false,
  'M_HLTH_EOMI': false,
  'M_WKFC_EOMI': true,
  'FPL200S': false,
  'M_WKFC_EBSI': true,
  'TD_ET': false,
  'FLD_ET': false,
  'WFR_ET': false,
  'ADJ_ET': true,
  'ADJ_PFS': 1,
  'IS_ET': false,
  'FUDS_ET': '0',
  'UI_EXP': 'Island Areas',
  'THRHLD': 3,
};

const propertiesNYC = {
  'GEOID10': '36081020800',
  'SF': 'New York',
  'CF': 'Queens County',
  'DF_PFS': 0.69,
  'AF_PFS': 0.46,
  'HDF_PFS': 0.29,
  'DSF_PFS': 0.96,
  'EBF_PFS': 0.75,
  'EBLR_PFS': 0.11,
  'EPLR_PFS': 0.19,
  'HBF_PFS': 0.75,
  'LLEF_PFS': 0.2,
  'LIF_PFS': 0.9,
  'LMI_PFS': 0.35,
  'MHVF_PFS': 0.93,
  'PM25F_PFS': 0.44,
  'HSEF': 0.2830459770114942,
  'P100_PFS': 0.43,
  'P200_PFS': 0.41,
  'P200_I_PFS': 0.37,
  'LPF_PFS': 0.93,
  'KP_PFS': 0.2159833426939357,
  'NPL_PFS': 0.73,
  'RMP_PFS': 0.42,
  'TSDF_PFS': 0.87,
  'TPF': 3136,
  'TF_PFS': 0.92,
  'UF_PFS': 0.86,
  'UST_PFS': 0.9877704355346548,
  'M_WTR': false,
  'M_WKFC': true,
  'M_CLT': false,
  'M_ENY': false,
  'M_TRN': false,
  'M_HSG': false,
  'M_PLN': false,
  'M_HLTH': false,
  'SM_C': true,
  'SM_DON': false,
  'SM_NO_DON': true,
  'EPLRLI': false,
  'EALRLI': false,
  'EBLRLI': false,
  'PM25LI': false,
  'EBLI': false,
  'DPMLI': false,
  'TPLI': false,
  'LPMHVLI': false,
  'HBLI': false,
  'RMPLI': false,
  'SFLI': false,
  'HWLI': false,
  'WDLI': false,
  'USTLI': false,
  'DLI': false,
  'ALI': false,
  'HDLI': false,
  'LLELI': false,
  'LILHSE': true,
  'PLHSE': false,
  'LMILHSE': false,
  'ULHSE': false,
  'EPL_ET': false,
  'EAL_ET': false,
  'EBL_ET': false,
  'EB_ET': false,
  'PM25_ET': false,
  'DS_ET': true,
  'TP_ET': true,
  'LPP_ET': false,
  'HRS_ET': '1',
  'KP_ET': false,
  'HB_ET': false,
  'RMP_ET': false,
  'NPL_ET': false,
  'TSDF_ET': false,
  'WD_ET': false,
  'UST_ET': true,
  'DB_ET': false,
  'A_ET': false,
  'HD_ET': false,
  'LLE_ET': false,
  'UN_ET': false,
  'LISO_ET': true,
  'POV_ET': false,
  'LMI_ET': false,
  'IA_LMI_ET': false,
  'IA_UN_ET': false,
  'IA_POV_ET': false,
  'TC': 1,
  'CC': 1,
  'IAULHSE': false,
  'IAPLHSE': false,
  'IALMILHSE': false,
  'LHE': true,
  'IALHE': false,
  'CA': 0.1,
  'NCA': 0.89,
  'CA_LT20': true,
  'M_CLT_EOMI': false,
  'M_ENY_EOMI': false,
  'M_TRN_EOMI': true,
  'M_HSG_EOMI': false,
  'M_PLN_EOMI': false,
  'M_WTR_EOMI': false,
  'M_HLTH_EOMI': false,
  'M_WKFC_EOMI': true,
  'FPL200S': false,
  'M_WKFC_EBSI': true,
  'TD_ET': false,
  'TD_PFS': 0.61,
  'FLD_PFS': 0.52,
  'WFR_PFS': 0.33,
  'FLD_ET': false,
  'WFR_ET': false,
  'ADJ_ET': true,
  'ADJ_PFS': 1,
  'IS_PFS': 0.99,
  'IS_ET': false,
  'IMP_FLG': '0',
  'DM_B': 0.22,
  'DM_AI': 0.03,
  'DM_A': 0.09,
  'DM_HI': 0,
  'DM_T': 0.1,
  'DM_W': 0.11,
  'DM_H': 0.33,
  'DM_O': 0.36,
  'AGE_10': 0.13,
  'AGE_MIDDLE': 0.8,
  'AGE_OLD': 0.06,
  'UI_EXP': 'Nation',
  'THRHLD': 21,
};

const propertiesAK = {
  'GEOID10': '02290000300',
  'SF': 'Alaska',
  'CF': 'Yukon-Koyukuk Census Area',
  'DF_PFS': 0.87,
  'AF_PFS': 0.93,
  'HDF_PFS': 0.92,
  'DSF_PFS': 0,
  'EBF_PFS': 0.97,
  'EBLR_PFS': 0.76,
  'EPLR_PFS': 0.71,
  'HBF_PFS': 0.22,
  'LLEF_PFS': 0.79,
  'LIF_PFS': 0.5,
  'LMI_PFS': 0.89,
  'MHVF_PFS': 0.07,
  'HSEF': 0.128,
  'P100_PFS': 0.84,
  'P200_PFS': 0.79,
  'P200_I_PFS': 0.81,
  'LPF_PFS': 0.11,
  'KP_PFS': 0.9996164436103616,
  'NPL_PFS': 0,
  'RMP_PFS': 0,
  'TSDF_PFS': 0,
  'TPF': 1821,
  'UF_PFS': 0.97,
  'UST_PFS': 0.0563641031877947,
  'M_WTR': false,
  'M_WKFC': true,
  'M_CLT': false,
  'M_ENY': true,
  'M_TRN': false,
  'M_HSG': false,
  'M_PLN': false,
  'M_HLTH': true,
  'SM_C': true,
  'SM_DON': false,
  'SM_NO_DON': true,
  'EPLRLI': false,
  'EALRLI': false,
  'EBLRLI': false,
  'PM25LI': false,
  'EBLI': true,
  'DPMLI': false,
  'TPLI': false,
  'LPMHVLI': false,
  'HBLI': false,
  'RMPLI': false,
  'SFLI': false,
  'HWLI': false,
  'WDLI': false,
  'USTLI': false,
  'DLI': false,
  'ALI': true,
  'HDLI': true,
  'LLELI': false,
  'LILHSE': false,
  'PLHSE': false,
  'LMILHSE': false,
  'ULHSE': true,
  'EPL_ET': false,
  'EAL_ET': false,
  'EBL_ET': false,
  'EB_ET': true,
  'PM25_ET': false,
  'DS_ET': false,
  'TP_ET': false,
  'LPP_ET': false,
  'KP_ET': true,
  'HB_ET': false,
  'RMP_ET': false,
  'NPL_ET': false,
  'TSDF_ET': false,
  'WD_ET': false,
  'UST_ET': false,
  'DB_ET': false,
  'A_ET': true,
  'HD_ET': true,
  'LLE_ET': false,
  'UN_ET': true,
  'LISO_ET': false,
  'POV_ET': false,
  'LMI_ET': false,
  'IA_LMI_ET': false,
  'IA_UN_ET': false,
  'IA_POV_ET': false,
  'TC': 6,
  'CC': 5,
  'IAULHSE': false,
  'IAPLHSE': false,
  'IALMILHSE': false,
  'LHE': true,
  'IALHE': false,
  'CA': 0.05,
  'NCA': 0.94,
  'CA_LT20': true,
  'M_CLT_EOMI': false,
  'M_ENY_EOMI': true,
  'M_TRN_EOMI': false,
  'M_HSG_EOMI': true,
  'M_PLN_EOMI': true,
  'M_WTR_EOMI': false,
  'M_HLTH_EOMI': true,
  'M_WKFC_EOMI': true,
  'FPL200S': true,
  'M_WKFC_EBSI': true,
  'TD_ET': false,
  'TD_PFS': 0.43,
  'FLD_PFS': 0.05,
  'FLD_ET': false,
  'WFR_ET': false,
  'ADJ_ET': false,
  'ADJ_PFS': 0.75,
  'IS_ET': false,
  'FUDS_ET': '1',
  'IMP_FLG': '0',
  'DM_B': 0,
  'DM_AI': 0.78,
  'DM_A': 0,
  'DM_HI': 0,
  'DM_T': 0.03,
  'DM_W': 0.15,
  'DM_H': 0.02,
  'DM_O': 0,
  'AGE_10': 0.17,
  'AGE_MIDDLE': 0.69,
  'AGE_OLD': 0.12,
  'UI_EXP': 'Nation',
  'THRHLD': 21,
};


describe('rendering of TractDemographics component', () => {
  it('does it render a tract in American Samoa correctly? ', () => {
    const {asFragment} = render(
        <LocalizedComponent>
          <TractDemographics properties={propertiesAS}/>
        </LocalizedComponent>,
    );
    expect(asFragment()).toMatchSnapshot();
  });

  it('does it render a tract in NYC correctly? ', () => {
    const {asFragment} = render(
        <LocalizedComponent>
          <TractDemographics properties={propertiesNYC}/>
        </LocalizedComponent>,
    );
    expect(asFragment()).toMatchSnapshot();
  });

  it('does it render a tract in Alaska correctly? ', () => {
    const {asFragment} = render(
        <LocalizedComponent>
          <TractDemographics properties={propertiesAK}/>
        </LocalizedComponent>,
    );
    expect(asFragment()).toMatchSnapshot();
  });
});
