1- const getTableNamesMock = jest . fn ( ) ;
2- const getTableIdByTableNameMock = jest . fn ( ) ;
1+ const getTableNames = jest . fn ( ) ;
2+ const getTableFieldsFromContextMock = jest . fn ( ) ;
33jest . mock ( '../../src/lib/openops-tables/tables' , ( ) => {
44 return {
5- getTableNames : getTableNamesMock ,
6- getTableIdByTableName : getTableIdByTableNameMock ,
5+ getTableNames : getTableNames ,
76 } ;
87} ) ;
9- const getFieldsMock = jest . fn ( ) ;
108jest . mock ( '../../src/lib/openops-tables/fields' , ( ) => {
11- return { getFields : getFieldsMock } ;
12- } ) ;
13- const authenticateDefaultUserInOpenOpsTablesMock = jest . fn ( ) ;
14- jest . mock ( '../../src/lib/openops-tables/auth-user' , ( ) => {
159 return {
16- authenticateDefaultUserInOpenOpsTables :
17- authenticateDefaultUserInOpenOpsTablesMock ,
10+ getTableFieldsFromContext : getTableFieldsFromContextMock ,
1811 } ;
1912} ) ;
2013
@@ -34,12 +27,15 @@ describe('table property', () => {
3427 } ) ;
3528
3629 test ( 'should return dropdown with all tables' , async ( ) => {
37- authenticateDefaultUserInOpenOpsTablesMock . mockResolvedValue ( {
38- token : 'token' ,
39- } ) ;
40- getTableNamesMock . mockResolvedValue ( [ 'table1' , 'table2' ] ) ;
41-
42- const result = await openopsTablesDropdownProperty ( ) . options ( ) ;
30+ const mockContext = {
31+ server : { tablesDatabaseId : 1 , tablesDatabaseToken : 'encrypted-token' } ,
32+ } as any ;
33+ getTableNames . mockResolvedValue ( [ 'table1' , 'table2' ] ) ;
34+
35+ const result = await openopsTablesDropdownProperty ( ) . options (
36+ null ,
37+ mockContext ,
38+ ) ;
4339
4440 expect ( result ) . toMatchObject ( {
4541 disabled : false ,
@@ -48,19 +44,25 @@ describe('table property', () => {
4844 { label : 'table2' , value : 'table2' } ,
4945 ] ,
5046 } ) ;
51- expect ( getTableNamesMock ) . toHaveBeenCalledTimes ( 1 ) ;
47+ expect ( getTableNames ) . toHaveBeenCalledTimes ( 1 ) ;
5248 } ) ;
5349
5450 test ( 'should handle empty tables' , async ( ) => {
55- getTableNamesMock . mockResolvedValue ( [ ] ) ;
56-
57- const result = await openopsTablesDropdownProperty ( ) . options ( ) ;
51+ const mockContext = {
52+ server : { tablesDatabaseId : 1 , tablesDatabaseToken : 'encrypted-token' } ,
53+ } as any ;
54+ getTableNames . mockResolvedValue ( [ ] ) ;
55+
56+ const result = await openopsTablesDropdownProperty ( ) . options (
57+ null ,
58+ mockContext ,
59+ ) ;
5860
5961 expect ( result ) . toMatchObject ( {
6062 disabled : false ,
6163 options : [ ] ,
6264 } ) ;
63- expect ( getTableNamesMock ) . toHaveBeenCalledTimes ( 1 ) ;
65+ expect ( getTableNames ) . toHaveBeenCalledTimes ( 1 ) ;
6466 } ) ;
6567} ) ;
6668
@@ -70,10 +72,10 @@ describe('getTableFields', () => {
7072 } ) ;
7173
7274 test ( 'should return the options' , async ( ) => {
73- authenticateDefaultUserInOpenOpsTablesMock . mockResolvedValue ( {
74- token : ' token',
75- } ) ;
76- getFieldsMock . mockResolvedValue ( [
75+ const mockContext = {
76+ server : { tablesDatabaseId : 1 , tablesDatabaseToken : 'encrypted- token' } ,
77+ } as any ;
78+ getTableFieldsFromContextMock . mockResolvedValue ( [
7779 {
7880 name : 'field1' ,
7981 id : 1 ,
@@ -92,9 +94,7 @@ describe('getTableFields', () => {
9294 } ,
9395 ] ) ;
9496
95- getTableIdByTableNameMock . mockResolvedValue ( 1 ) ;
96-
97- const result = await getTableFields ( 'Opportunity' ) ;
97+ const result = await getTableFields ( 'Opportunity' , mockContext ) ;
9898
9999 expect ( result ) . toMatchObject ( [
100100 {
@@ -114,40 +114,35 @@ describe('getTableFields', () => {
114114 type : 'equal' ,
115115 } ,
116116 ] ) ;
117- expect ( authenticateDefaultUserInOpenOpsTablesMock ) . toHaveBeenCalledTimes ( 1 ) ;
118- expect ( getFieldsMock ) . toHaveBeenCalledTimes ( 1 ) ;
119- expect ( getFieldsMock ) . toHaveBeenCalledWith ( 1 , 'token' , false , undefined ) ; // Adjust this line as needed.
120- } ) ;
121-
122- test ( 'should handle authentication failure' , async ( ) => {
123- authenticateDefaultUserInOpenOpsTablesMock . mockRejectedValueOnce (
124- new Error ( 'Authentication failed' ) ,
125- ) ;
126- getTableIdByTableNameMock . mockResolvedValue ( 1 ) ;
127-
128- await expect ( getTableFields ( 'Opportunity' ) ) . rejects . toThrow (
129- 'Authentication failed' ,
117+ expect ( getTableFieldsFromContextMock ) . toHaveBeenCalledTimes ( 1 ) ;
118+ expect ( getTableFieldsFromContextMock ) . toHaveBeenCalledWith (
119+ 'Opportunity' ,
120+ mockContext ,
121+ undefined ,
130122 ) ;
131- expect ( authenticateDefaultUserInOpenOpsTablesMock ) . toHaveBeenCalledTimes ( 1 ) ;
132- expect ( getFieldsMock ) . not . toHaveBeenCalled ( ) ;
133123 } ) ;
134124
135125 test ( 'should handle empty fields' , async ( ) => {
136- authenticateDefaultUserInOpenOpsTablesMock . mockResolvedValue ( {
137- token : 'token' ,
138- } ) ;
139- getFieldsMock . mockResolvedValue ( [ ] ) ;
140- getTableIdByTableNameMock . mockResolvedValue ( 1 ) ;
126+ const mockContext = {
127+ server : { tablesDatabaseId : 1 , tablesDatabaseToken : 'encrypted-token' } ,
128+ } as any ;
129+ getTableFieldsFromContextMock . mockResolvedValue ( [ ] ) ;
141130
142- const result = await getTableFields ( 'Opportunity' ) ;
131+ const result = await getTableFields ( 'Opportunity' , mockContext ) ;
143132
144133 expect ( result ) . toMatchObject ( [ ] ) ;
145- expect ( authenticateDefaultUserInOpenOpsTablesMock ) . toHaveBeenCalledTimes ( 1 ) ;
146- expect ( getFieldsMock ) . toHaveBeenCalledTimes ( 1 ) ;
147- expect ( getFieldsMock ) . toHaveBeenCalledWith ( 1 , 'token' , false , undefined ) ;
134+ expect ( getTableFieldsFromContextMock ) . toHaveBeenCalledTimes ( 1 ) ;
135+ expect ( getTableFieldsFromContextMock ) . toHaveBeenCalledWith (
136+ 'Opportunity' ,
137+ mockContext ,
138+ undefined ,
139+ ) ;
148140 } ) ;
149141
150142 test ( 'should return our supported properties for the field' , async ( ) => {
143+ const mockContext = {
144+ server : { tablesDatabaseId : 1 , tablesDatabaseToken : 'encrypted-token' } ,
145+ } as any ;
151146 const numberField : NumberOpenOpsField = {
152147 name : 'field1' ,
153148 id : 1 ,
@@ -185,18 +180,14 @@ describe('getTableFields', () => {
185180 duration_format : 'format' ,
186181 } ;
187182
188- authenticateDefaultUserInOpenOpsTablesMock . mockResolvedValue ( {
189- token : 'token' ,
190- } ) ;
191- getFieldsMock . mockResolvedValue ( [
183+ getTableFieldsFromContextMock . mockResolvedValue ( [
192184 numberField ,
193185 singleSelectField ,
194186 multiSelectField ,
195187 durationField ,
196188 ] ) ;
197- getTableIdByTableNameMock . mockResolvedValue ( 2 ) ;
198189
199- const result = await getTableFields ( 'Opportunity' ) ;
190+ const result = await getTableFields ( 'Opportunity' , mockContext ) ;
200191
201192 expect ( result ) . toEqual ( [
202193 numberField ,
0 commit comments