Refactor Views by cleaning the code, relying on apolloCache and improving performances (#4516)
* Wip refactoring view * Post merge conflicts * Fix review * Add create view capability * Fix create object missing view * Fix tests
This commit is contained in:
@@ -12,7 +12,7 @@ import { mapViewFiltersToFilters } from '@/views/utils/mapViewFiltersToFilters';
|
||||
import { mapViewSortsToSorts } from '@/views/utils/mapViewSortsToSorts';
|
||||
|
||||
const baseDefinition = {
|
||||
fieldMetadataId: 'fieldMetadataId',
|
||||
fieldMetadataId: '05731f68-6e7a-4903-8374-c0b6a9063482',
|
||||
label: 'label',
|
||||
iconName: 'iconName',
|
||||
};
|
||||
@@ -21,20 +21,22 @@ describe('mapViewSortsToSorts', () => {
|
||||
it('should map each ViewSort object to a corresponding Sort object', () => {
|
||||
const viewSorts: ViewSort[] = [
|
||||
{
|
||||
__typename: 'ViewSort',
|
||||
id: 'id',
|
||||
fieldMetadataId: 'fieldMetadataId',
|
||||
fieldMetadataId: '05731f68-6e7a-4903-8374-c0b6a9063482',
|
||||
direction: 'asc',
|
||||
definition: baseDefinition,
|
||||
},
|
||||
];
|
||||
const expectedSorts: Sort[] = [
|
||||
{
|
||||
fieldMetadataId: 'fieldMetadataId',
|
||||
fieldMetadataId: '05731f68-6e7a-4903-8374-c0b6a9063482',
|
||||
direction: 'asc',
|
||||
definition: baseDefinition,
|
||||
},
|
||||
];
|
||||
expect(mapViewSortsToSorts(viewSorts)).toEqual(expectedSorts);
|
||||
expect(mapViewSortsToSorts(viewSorts, [baseDefinition])).toEqual(
|
||||
expectedSorts,
|
||||
);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -42,20 +44,17 @@ describe('mapViewFiltersToFilters', () => {
|
||||
it('should map each ViewFilter object to a corresponding Filter object', () => {
|
||||
const viewFilters: ViewFilter[] = [
|
||||
{
|
||||
__typename: 'ViewFilter',
|
||||
id: 'id',
|
||||
fieldMetadataId: '1',
|
||||
fieldMetadataId: '05731f68-6e7a-4903-8374-c0b6a9063482',
|
||||
value: 'testValue',
|
||||
displayValue: 'Test Display Value',
|
||||
operand: ViewFilterOperand.Is,
|
||||
definition: {
|
||||
...baseDefinition,
|
||||
type: 'FULL_NAME',
|
||||
},
|
||||
},
|
||||
];
|
||||
const expectedFilters: Filter[] = [
|
||||
{
|
||||
fieldMetadataId: '1',
|
||||
fieldMetadataId: '05731f68-6e7a-4903-8374-c0b6a9063482',
|
||||
value: 'testValue',
|
||||
displayValue: 'Test Display Value',
|
||||
operand: ViewFilterOperand.Is,
|
||||
@@ -65,7 +64,14 @@ describe('mapViewFiltersToFilters', () => {
|
||||
},
|
||||
},
|
||||
];
|
||||
expect(mapViewFiltersToFilters(viewFilters)).toEqual(expectedFilters);
|
||||
expect(
|
||||
mapViewFiltersToFilters(viewFilters, [
|
||||
{
|
||||
...baseDefinition,
|
||||
type: 'FULL_NAME',
|
||||
},
|
||||
]),
|
||||
).toEqual(expectedFilters);
|
||||
});
|
||||
});
|
||||
|
||||
@@ -73,6 +79,7 @@ describe('mapViewFieldsToColumnDefinitions', () => {
|
||||
it('should map visible ViewFields to ColumnDefinitions and filter out missing fieldMetadata', () => {
|
||||
const viewFields: ViewField[] = [
|
||||
{
|
||||
__typename: 'ViewField',
|
||||
id: '1',
|
||||
fieldMetadataId: '1',
|
||||
position: 1,
|
||||
@@ -92,6 +99,7 @@ describe('mapViewFieldsToColumnDefinitions', () => {
|
||||
},
|
||||
},
|
||||
{
|
||||
__typename: 'ViewField',
|
||||
id: '2',
|
||||
fieldMetadataId: '2',
|
||||
position: 2,
|
||||
@@ -111,6 +119,7 @@ describe('mapViewFieldsToColumnDefinitions', () => {
|
||||
},
|
||||
},
|
||||
{
|
||||
__typename: 'ViewField',
|
||||
id: '3',
|
||||
fieldMetadataId: '3',
|
||||
position: 3,
|
||||
@@ -209,13 +218,16 @@ describe('mapColumnDefinitionsToViewFields', () => {
|
||||
|
||||
const expectedViewFields = [
|
||||
{
|
||||
__typename: 'ViewField',
|
||||
id: 'custom-id-1',
|
||||
fieldMetadataId: 1,
|
||||
position: 1,
|
||||
isVisible: true,
|
||||
definition: columnDefinitions[0],
|
||||
size: undefined,
|
||||
},
|
||||
{
|
||||
__typename: 'ViewField',
|
||||
id: '',
|
||||
fieldMetadataId: 2,
|
||||
position: 2,
|
||||
|
||||
Reference in New Issue
Block a user