import React from 'react'; import { cleanup, render, screen } from '@testing-library/react'; import { expect } from 'chai'; import UsageField, { getUsageTooltip } from './usage-field'; describe('UsageField', function () { before(cleanup); afterEach(cleanup); describe('UsageField Component', function () { it('renders usage and since', function () { const since = new Date(); render(); const renderedText = `20 (since ${since.toDateString()})`; expect(screen.getByText(renderedText)).to.exist; }); it('renders usage unavailable when usage is not defined', function () { render(); const renderedText = 'Usage data unavailable'; expect(screen.getByText(renderedText)).to.exist; }); it('renders zero when usage is zero', function () { render(); const renderedText = '0'; expect(screen.getByText(renderedText)).to.exist; }); it('renders only usage when since is not defined', function () { render(); const renderedText = '30'; expect(screen.getByText(renderedText)).to.exist; }); }); describe('getUsageTooltip', function () { it('returns correct tooltip', function () { expect(getUsageTooltip()).to.equal( 'Either the server does not support the $indexStats command' + ' or the user is not authorized to execute it.' ); expect(getUsageTooltip(0)).to.equal( '0 index hits since index creation or last server restart' ); expect(getUsageTooltip(30)).to.equal( '30 index hits since index creation or last server restart' ); }); }); });