Skip to content

Commit b3d2b47

Browse files
committed
Make test pass
1 parent 99372d8 commit b3d2b47

2 files changed

Lines changed: 46 additions & 31 deletions

File tree

packages/openops/src/lib/openops-tables/openops-tables-common-properties.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,13 @@ export function openopsTablesDropdownProperty(): any {
4040

4141
export async function getTableFields(
4242
tableName: string,
43-
context: PropertyContext,
4443
axiosRetryConfig?: IAxiosRetryConfig,
4544
): Promise<OpenOpsField[]> {
46-
return await getTableFieldsFromContext(tableName, context, axiosRetryConfig);
45+
const { token } = await authenticateDefaultUserInOpenOpsTables();
46+
47+
const tableId = await getTableIdByTableName(tableName as unknown as string);
48+
49+
return await getFields(tableId, token, false, axiosRetryConfig);
4750
}
4851

4952
export async function getTableFieldsForMigration(

packages/openops/test/openops-tables/openops-tables-common-properties.test.ts

Lines changed: 41 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,25 @@
11
const getTableNames = jest.fn();
22
const getTableFieldsFromContextMock = jest.fn();
3+
const getTableIdByTableName = jest.fn();
4+
const getFields = jest.fn();
5+
const authenticateDefaultUserInOpenOpsTables = jest.fn();
6+
37
jest.mock('../../src/lib/openops-tables/tables', () => {
48
return {
59
getTableNames: getTableNames,
10+
getTableIdByTableName: getTableIdByTableName,
611
};
712
});
813
jest.mock('../../src/lib/openops-tables/fields', () => {
914
return {
1015
getTableFieldsFromContext: getTableFieldsFromContextMock,
16+
getFields: getFields,
17+
};
18+
});
19+
jest.mock('../../src/lib/openops-tables/auth-user', () => {
20+
return {
21+
authenticateDefaultUserInOpenOpsTables:
22+
authenticateDefaultUserInOpenOpsTables,
1123
};
1224
});
1325

@@ -29,7 +41,7 @@ describe('table property', () => {
2941
test('should return dropdown with all tables', async () => {
3042
const mockContext = {
3143
server: { tablesDatabaseId: 1, tablesDatabaseToken: 'encrypted-token' },
32-
} as any;
44+
};
3345
getTableNames.mockResolvedValue(['table1', 'table2']);
3446

3547
const result = await openopsTablesDropdownProperty().options(
@@ -50,7 +62,7 @@ describe('table property', () => {
5062
test('should handle empty tables', async () => {
5163
const mockContext = {
5264
server: { tablesDatabaseId: 1, tablesDatabaseToken: 'encrypted-token' },
53-
} as any;
65+
};
5466
getTableNames.mockResolvedValue([]);
5567

5668
const result = await openopsTablesDropdownProperty().options(
@@ -72,10 +84,12 @@ describe('getTableFields', () => {
7284
});
7385

7486
test('should return the options', async () => {
75-
const mockContext = {
76-
server: { tablesDatabaseId: 1, tablesDatabaseToken: 'encrypted-token' },
77-
} as any;
78-
getTableFieldsFromContextMock.mockResolvedValue([
87+
authenticateDefaultUserInOpenOpsTables.mockResolvedValue({
88+
token: 'mock-token',
89+
refresh_token: 'mock-refresh-token',
90+
});
91+
getTableIdByTableName.mockResolvedValue(123);
92+
getFields.mockResolvedValue([
7993
{
8094
name: 'field1',
8195
id: 1,
@@ -94,7 +108,7 @@ describe('getTableFields', () => {
94108
},
95109
]);
96110

97-
const result = await getTableFields('Opportunity', mockContext);
111+
const result = await getTableFields('Opportunity');
98112

99113
expect(result).toMatchObject([
100114
{
@@ -114,35 +128,28 @@ describe('getTableFields', () => {
114128
type: 'equal',
115129
},
116130
]);
117-
expect(getTableFieldsFromContextMock).toHaveBeenCalledTimes(1);
118-
expect(getTableFieldsFromContextMock).toHaveBeenCalledWith(
119-
'Opportunity',
120-
mockContext,
121-
undefined,
122-
);
131+
expect(authenticateDefaultUserInOpenOpsTables).toHaveBeenCalledTimes(1);
132+
expect(getTableIdByTableName).toHaveBeenCalledWith('Opportunity');
133+
expect(getFields).toHaveBeenCalledWith(123, 'mock-token', false, undefined);
123134
});
124135

125136
test('should handle empty fields', async () => {
126-
const mockContext = {
127-
server: { tablesDatabaseId: 1, tablesDatabaseToken: 'encrypted-token' },
128-
} as any;
129-
getTableFieldsFromContextMock.mockResolvedValue([]);
137+
authenticateDefaultUserInOpenOpsTables.mockResolvedValue({
138+
token: 'mock-token',
139+
refresh_token: 'mock-refresh-token',
140+
});
141+
getTableIdByTableName.mockResolvedValue(123);
142+
getFields.mockResolvedValue([]);
130143

131-
const result = await getTableFields('Opportunity', mockContext);
144+
const result = await getTableFields('Opportunity');
132145

133146
expect(result).toMatchObject([]);
134-
expect(getTableFieldsFromContextMock).toHaveBeenCalledTimes(1);
135-
expect(getTableFieldsFromContextMock).toHaveBeenCalledWith(
136-
'Opportunity',
137-
mockContext,
138-
undefined,
139-
);
147+
expect(authenticateDefaultUserInOpenOpsTables).toHaveBeenCalledTimes(1);
148+
expect(getTableIdByTableName).toHaveBeenCalledWith('Opportunity');
149+
expect(getFields).toHaveBeenCalledWith(123, 'mock-token', false, undefined);
140150
});
141151

142152
test('should return our supported properties for the field', async () => {
143-
const mockContext = {
144-
server: { tablesDatabaseId: 1, tablesDatabaseToken: 'encrypted-token' },
145-
} as any;
146153
const numberField: NumberOpenOpsField = {
147154
name: 'field1',
148155
id: 1,
@@ -180,14 +187,19 @@ describe('getTableFields', () => {
180187
duration_format: 'format',
181188
};
182189

183-
getTableFieldsFromContextMock.mockResolvedValue([
190+
authenticateDefaultUserInOpenOpsTables.mockResolvedValue({
191+
token: 'mock-token',
192+
refresh_token: 'mock-refresh-token',
193+
});
194+
getTableIdByTableName.mockResolvedValue(123);
195+
getFields.mockResolvedValue([
184196
numberField,
185197
singleSelectField,
186198
multiSelectField,
187199
durationField,
188200
]);
189201

190-
const result = await getTableFields('Opportunity', mockContext);
202+
const result = await getTableFields('Opportunity');
191203

192204
expect(result).toEqual([
193205
numberField,

0 commit comments

Comments
 (0)