mirror of
https://github.com/Unleash/unleash.git
synced 2025-10-13 11:17:26 +02:00
* refactor: simplify useApiGetter cache keys * refactor: simplify basePath helpers * refactor: add UNLEASH_BASE_PATH frontend env var * refactor: make sure AnnouncerElement does not affect the layout * refactor: draw texture image above footer * refactor: extract domain check helpers * refactor: fix a few ts-expect-errors * feat: add trial expiration warning banner * refactor: fix IInstanceStatus interface prefix * refactor: use ConditionallyRender in InstanceStatus * refactor: simplify env helper functions * refactor: use FC in InstanceStatus * refactor: warn about expired trials * refactor: fix eslint warnings * refactor: disable banner outside of localhost * refactor: use new instance state field name
62 lines
2.0 KiB
TypeScript
62 lines
2.0 KiB
TypeScript
import { InstanceStatusBar } from 'component/common/InstanceStatus/InstanceStatusBar';
|
|
import { InstanceState } from 'interfaces/instance';
|
|
import { render } from 'utils/testRenderer';
|
|
import { screen } from '@testing-library/react';
|
|
import { addDays } from 'date-fns';
|
|
import { INSTANCE_STATUS_BAR_ID } from 'utils/testIds';
|
|
import { UNKNOWN_INSTANCE_STATUS } from 'hooks/api/getters/useInstanceStatus/useInstanceStatus';
|
|
|
|
test('InstanceStatusBar should be hidden by default', async () => {
|
|
render(<InstanceStatusBar instanceStatus={UNKNOWN_INSTANCE_STATUS} />);
|
|
|
|
expect(
|
|
screen.queryByTestId(INSTANCE_STATUS_BAR_ID)
|
|
).not.toBeInTheDocument();
|
|
});
|
|
|
|
test('InstanceStatusBar should be hidden when the trial is far from expired', async () => {
|
|
render(
|
|
<InstanceStatusBar
|
|
instanceStatus={{
|
|
plan: 'pro',
|
|
state: InstanceState.TRIAL,
|
|
trialExpiry: addDays(new Date(), 15).toISOString(),
|
|
}}
|
|
/>
|
|
);
|
|
|
|
expect(
|
|
screen.queryByTestId(INSTANCE_STATUS_BAR_ID)
|
|
).not.toBeInTheDocument();
|
|
});
|
|
|
|
test('InstanceStatusBar should warn when the trial is about to expire', async () => {
|
|
render(
|
|
<InstanceStatusBar
|
|
instanceStatus={{
|
|
plan: 'pro',
|
|
state: InstanceState.TRIAL,
|
|
trialExpiry: addDays(new Date(), 5).toISOString(),
|
|
}}
|
|
/>
|
|
);
|
|
|
|
expect(screen.getByTestId(INSTANCE_STATUS_BAR_ID)).toBeInTheDocument();
|
|
expect(await screen.findByTestId(INSTANCE_STATUS_BAR_ID)).toMatchSnapshot();
|
|
});
|
|
|
|
test('InstanceStatusBar should warn when the trial has expired', async () => {
|
|
render(
|
|
<InstanceStatusBar
|
|
instanceStatus={{
|
|
plan: 'pro',
|
|
state: InstanceState.TRIAL,
|
|
trialExpiry: new Date().toISOString(),
|
|
}}
|
|
/>
|
|
);
|
|
|
|
expect(screen.getByTestId(INSTANCE_STATUS_BAR_ID)).toBeInTheDocument();
|
|
expect(await screen.findByTestId(INSTANCE_STATUS_BAR_ID)).toMatchSnapshot();
|
|
});
|