@@ -2,10 +2,12 @@ require('dotenv').config();
22const request = require ( 'supertest' ) ;
33const { expect } = require ( 'chai' ) ;
44const chai = require ( 'chai' ) ;
5+ const uuid = require ( 'uuid' ) ;
56const server = require ( '../server/app' ) ;
67const seed = require ( './seed' ) ;
78chai . use ( require ( 'chai-uuid' ) ) ;
89const WalletService = require ( '../server/services/WalletService' ) ;
10+ const TrustService = require ( '../server/services/TrustService' ) ;
911
1012describe ( 'Wallet: create(POST) wallets of an account' , ( ) => {
1113 let bearerTokenA ;
@@ -17,19 +19,57 @@ describe('Wallet: create(POST) wallets of an account', () => {
1719 bearerTokenA = seed . wallet . keycloak_account_id ;
1820 } ) ;
1921
22+ it ( 'create parent wallet' , async ( ) => {
23+ const keycloakId = uuid . v4 ( ) ;
24+ const res = await request ( server )
25+ . post ( '/wallets' )
26+ . send ( { wallet : 'newParentWallet' } )
27+ . set ( 'content-type' , 'application/json' )
28+ . set ( 'Authorization' , `Bearer ${ keycloakId } ` )
29+ . expect ( 201 ) ;
30+
31+ expect ( res . body ) . contain ( { wallet : 'newParentWallet' } ) ;
32+ expect ( res . body . id ) . to . exist ;
33+
34+ const walletService = new WalletService ( ) ;
35+ const wallet = await walletService . getWalletIdByKeycloakId ( keycloakId ) ;
36+ expect ( wallet . id ) . equal ( res . body . id ) ;
37+
38+ const trustService = new TrustService ( ) ;
39+ const trust = await trustService . getTrustRelationships ( res . body . id , [ ] , {
40+ walletId : res . body . id ,
41+ } ) ;
42+ expect ( trust . count ) . equal ( 0 ) ;
43+ expect ( trust . result . length ) . equal ( 0 ) ;
44+ } ) ;
45+
2046 it ( 'create wallet by a valid wallet name' , async ( ) => {
2147 const walletService = new WalletService ( ) ;
2248 const res = await request ( server )
2349 . post ( '/wallets' )
2450 . send ( { wallet : 'azAZ.-@0123456789' } )
2551 . set ( 'content-type' , 'application/json' )
26- . set ( 'Authorization' , `Bearer ${ bearerTokenA } ` ) ;
52+ . set ( 'Authorization' , `Bearer ${ bearerTokenA } ` )
53+ . expect ( 201 ) ;
2754
2855 expect ( res . body ) . contain ( { wallet : 'azAZ.-@0123456789' } ) ;
2956 expect ( res . body . id ) . to . exist ;
3057 await walletService . getById ( res . body . id ) . then ( ( wallet ) => {
3158 expect ( wallet . name ) . to . eq ( 'azAZ.-@0123456789' ) ;
3259 } ) ;
60+
61+ const trustService = new TrustService ( ) ;
62+ const trust = await trustService . getTrustRelationships ( res . body . id , [ ] , {
63+ walletId : res . body . id ,
64+ } ) ;
65+ expect ( trust . count ) . equal ( 1 ) ;
66+ expect ( trust . result . length ) . equal ( 1 ) ;
67+ expect ( trust . result [ 0 ] . originating_wallet ) . equal ( 'walletA' ) ;
68+ expect ( trust . result [ 0 ] . actor_wallet ) . equal ( 'walletA' ) ;
69+ expect ( trust . result [ 0 ] . target_wallet ) . equal ( 'azAZ.-@0123456789' ) ;
70+ expect ( trust . result [ 0 ] . type ) . equal ( 'manage' ) ;
71+ expect ( trust . result [ 0 ] . state ) . equal ( 'trusted' ) ;
72+ expect ( trust . result [ 0 ] . request_type ) . equal ( 'manage' ) ;
3373 } ) ;
3474
3575 it ( 'create wallet by invalid name length' , async ( ) => {
0 commit comments