11const openopsCommonMock = {
22 ...jest . requireActual ( '@openops/common' ) ,
33 makeOpenOpsTablesPost : jest . fn ( ) ,
4+ createAxiosHeaders : jest . fn ( ) ,
45} ;
56jest . mock ( '@openops/common' , ( ) => openopsCommonMock ) ;
67
78import { AxiosHeaders } from 'axios' ;
8- import { createDatabaseToken } from '../../../src/app/openops-tables/create-database-token' ;
9+ import { createProjectDatabaseToken } from '../../../src/app/openops-tables/create-database-token' ;
910
10- describe ( 'createDatabaseToken ' , ( ) => {
11+ describe ( 'createProjectDatabaseToken ' , ( ) => {
1112 beforeEach ( ( ) => {
1213 jest . clearAllMocks ( ) ;
1314 } ) ;
1415
1516 it ( 'should return the created token on successful creation' , async ( ) => {
1617 const params = {
17- name : 'Test Token' ,
18+ token : 'test_system_token' ,
19+ projectId : 'test-project-123' ,
1820 workspaceId : 1 ,
19- systemToken : 'test_system_token' ,
2021 } ;
22+ const mockHeaders = new AxiosHeaders ( {
23+ 'Content-Type' : 'application/json' ,
24+ Authorization : `JWT ${ params . token } ` ,
25+ } ) ;
2126 const mockTokenResponse = {
2227 id : 1 ,
23- name : 'Test Token ' ,
28+ name : 'Project_test-project-123 ' ,
2429 workspace : 1 ,
2530 key : 'test_database_token_key' ,
2631 permissions : {
@@ -31,23 +36,25 @@ describe('createDatabaseToken', () => {
3136 } ,
3237 } ;
3338
39+ openopsCommonMock . createAxiosHeaders . mockReturnValue ( mockHeaders ) ;
3440 openopsCommonMock . makeOpenOpsTablesPost . mockResolvedValue (
3541 mockTokenResponse ,
3642 ) ;
3743
38- const result = await createDatabaseToken ( params ) ;
44+ const result = await createProjectDatabaseToken ( params ) ;
3945
4046 expect ( result ) . toEqual ( mockTokenResponse ) ;
47+ expect ( openopsCommonMock . createAxiosHeaders ) . toHaveBeenCalledTimes ( 1 ) ;
48+ expect ( openopsCommonMock . createAxiosHeaders ) . toHaveBeenCalledWith (
49+ params . token ,
50+ ) ;
4151 expect ( openopsCommonMock . makeOpenOpsTablesPost ) . toHaveBeenCalledWith (
4252 'api/database/tokens/' ,
4353 {
44- name : params . name ,
54+ name : 'Project_test-project-123' ,
4555 workspace : params . workspaceId ,
4656 } ,
47- new AxiosHeaders ( {
48- 'Content-Type' : 'application/json' ,
49- Authorization : `JWT ${ params . systemToken } ` ,
50- } ) ,
57+ mockHeaders ,
5158 ) ;
5259 } ) ;
5360} ) ;
0 commit comments