Skip to content
Snippets Groups Projects
Unverified Commit a35342e7 authored by Douglas Fabris's avatar Douglas Fabris Committed by GitHub
Browse files

regression: Change user preference value when feature preview are not enabled (#30135)

parent ead7c7be
No related branches found
No related tags found
No related merge requests found
......@@ -33,3 +33,19 @@ it('should return true if featurePreviewEnabled is true and feature is in userPr
expect(result.all[0]).toBe(true);
});
it('should return false for disabled features', () => {
const { result } = renderHook(() => useFeaturePreview('navigationBar'), {
wrapper: mockAppRoot()
.withSetting('Accounts_AllowFeaturePreview', true)
.withUserPreference('featuresPreview', [
{
name: 'navigationBar',
value: true,
},
])
.build(),
});
expect(result.current).toEqual(false);
});
import { useUserPreference, useSetting } from '@rocket.chat/ui-contexts';
import type { FeaturesAvailable, FeaturePreviewProps } from './useFeaturePreviewList';
import { type FeaturesAvailable, useFeaturePreviewList } from './useFeaturePreviewList';
export const useFeaturePreview = (featureName: FeaturesAvailable) => {
const featurePreviewEnabled = useSetting('Accounts_AllowFeaturePreview');
const features = useUserPreference<FeaturePreviewProps[]>('featuresPreview');
const { features } = useFeaturePreviewList();
const currentFeature = features?.find((feature) => feature.name === featureName);
if (!featurePreviewEnabled) {
return false;
}
if (!currentFeature) {
return false;
}
return currentFeature.value;
return Boolean(currentFeature?.value);
};
......@@ -66,3 +66,19 @@ it('should ignore removed feature previews', () => {
}),
);
});
it('should turn off ignored feature previews', async () => {
const { result } = renderHook(() => useFeaturePreviewList(), {
wrapper: mockAppRoot()
.withSetting('Accounts_AllowFeaturePreview', true)
.withUserPreference('featuresPreview', [
{
name: 'oldFeature',
value: true,
},
])
.build(),
});
expect(result.current.features).toEqual(expect.arrayContaining(enabledDefaultFeatures));
});
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment