Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
688 changes: 688 additions & 0 deletions src/__mocks__/schema/analyticsTableHooksSchema.json

Large diffs are not rendered by default.

4 changes: 4 additions & 0 deletions src/lib/constants/translatedModelProperties.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ const TRANSLATED_PROPERTY: Record<string, string> = {
),
attributeCombo: i18n.t('Attribute category combination'),
analyticsType: i18n.t('Analytics type'),
analyticsTableType: i18n.t('Analytics table type'),
bidirectional: i18n.t('Bidirectional'),
category: i18n.t('Category'),
categoryCombo: i18n.t('Category combination'),
Expand Down Expand Up @@ -53,6 +54,7 @@ const TRANSLATED_PROPERTY: Record<string, string> = {
optionGroupSet: i18n.t('Option group set'),
organisationUnitGroup: i18n.t('Organisation unit group'),
organisationUnitGroupSet: i18n.t('Organisation unit group set'),
phase: i18n.t('Phase'),
program: i18n.t('Program'),
programIndicator: i18n.t('Program indicator'),
programIndicatorGroup: i18n.t('Program indicator group'),
Expand All @@ -63,6 +65,8 @@ const TRANSLATED_PROPERTY: Record<string, string> = {
referral: i18n.t('Referral'),
sharing: i18n.t('Sharing'),
shortName: i18n.t('Short name'),
sql: i18n.t('SQL'),
resourceTableType: i18n.t('Resource table type'),
toFromName: i18n.t('Relationship name seen from receiving entity'),
trackedEntityAttribute: i18n.t('Tracked entity attribute'),
useCodeForOptionSet: i18n.t('Use code for option set'),
Expand Down
17 changes: 17 additions & 0 deletions src/lib/sectionList/listViews/sectionListViewsConfig.ts
Original file line number Diff line number Diff line change
Expand Up @@ -1007,4 +1007,21 @@ export const modelListViewsConfig = {
},
filters: {},
},
analyticsTableHook: {
columns: {
default: [DESCRIPTORS.name, 'lastUpdated'],
available: [
'phase',
'resourceTableType',
'analyticsTableType',
'sql',
],
overrideDefaultAvailable: true,
},
filters: {
default: [],
available: [],
overrideDefaultAvailable: true,
},
},
} satisfies SectionListViewConfig<SectionName>
19 changes: 19 additions & 0 deletions src/pages/analyticsTableHooks/List.spec.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
import schemaMock from '../../__mocks__/schema/analyticsTableHooksSchema.json'
import { SECTIONS_MAP } from '../../lib'
import { testAnalyticsTableHook } from '../../testUtils/builders'
import { generateDefaultListTests } from '../defaultListTests'
import { Component } from './List'

const section = SECTIONS_MAP.analyticsTableHook
const mockSchema = schemaMock
const ComponentToTest = Component
const generateRandomElement = testAnalyticsTableHook
const customData = {}

generateDefaultListTests({
section,
mockSchema,
ComponentToTest,
generateRandomElement,
customData,
})
4 changes: 4 additions & 0 deletions src/pages/analyticsTableHooks/List.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
import React from 'react'
import { DefaultSectionList } from '../DefaultSectionList'

export const Component = () => <DefaultSectionList />
20 changes: 20 additions & 0 deletions src/pages/analyticsTableHooks/form/analyticsTableHookSchema.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { z } from 'zod'
import { modelFormSchemas } from '../../../lib'
import { AnalyticsTableHook } from '../../../types/generated'

const { withDefaultListColumns } = modelFormSchemas

const analyticsTableHookBaseSchema = z.object({
name: z.string(),
code: z.string().optional(),
sql: z.string(),
analyticsTableType: z.nativeEnum(AnalyticsTableHook.analyticsTableType),
phase: z.nativeEnum(AnalyticsTableHook.phase),
resourceTableType: z
.nativeEnum(AnalyticsTableHook.resourceTableType)
.optional(),
})

export const analyticsTableHookListSchema = analyticsTableHookBaseSchema.merge(
withDefaultListColumns
)
1 change: 1 addition & 0 deletions src/pages/analyticsTableHooks/form/index.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
export { analyticsTableHookListSchema } from './analyticsTableHookSchema'
6 changes: 6 additions & 0 deletions src/testUtils/builders.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ import {
UserGroupSchema,
UserSchema,
} from '../lib/form/modelFormSchemas'
import { analyticsTableHookListSchema } from '../pages/analyticsTableHooks/form'
import {
attributeListSchema,
attributeFormSchema,
Expand Down Expand Up @@ -360,6 +361,11 @@ export const testProgramRule = (overwrites: Record<any, any> = {}) => ({
...overwrites,
})

export const testAnalyticsTableHook = (overwrites: Record<any, any> = {}) => ({
...generateMock(analyticsTableHookListSchema, { stringMap }),
...overwrites,
})

export const testAttributeList = (overwrites: Record<any, any> = {}) => ({
...generateMock(attributeListSchema, { stringMap }),
...overwrites,
Expand Down
Loading