File tree Expand file tree Collapse file tree 3 files changed +28
-23
lines changed
Expand file tree Collapse file tree 3 files changed +28
-23
lines changed Original file line number Diff line number Diff line change @@ -354,18 +354,20 @@ fetchUserByUsername('t8').then((result) => {
354354### Fetching random artwork with owner information
355355
356356** Signature** :
357- ` fetchRandomArtworkWithUser = async (): Promise<ArtworkOwner> `
357+ ` fetchRandomArtworkWithUser = async (amount?: number ): Promise<Array< ArtworkOwner> > `
358358
359359** Usage** :
360360``` typescript
361361import { fetchRandomArtworkWithUser } from ' verto-cache-interface' ;
362362
363- fetchRandomArtworkWithUser ().then ((result ) => {
364- console .log (' Artwork ID ' , result .id );
365- console .log (' Name ' , result .name );
366- console .log (' Type ' , result .type );
367- console .log (' Images ' , result .images );
368- console .log (' Owner username ' , result .owner .username );
363+ fetchRandomArtworkWithUser ().then ((arts ) => {
364+ arts .forEach (result => {
365+ console .log (' Artwork ID ' , result .id );
366+ console .log (' Name ' , result .name );
367+ console .log (' Type ' , result .type );
368+ console .log (' Images ' , result .images );
369+ console .log (' Owner username ' , result .owner .username );
370+ });
369371})
370372```
371373
Original file line number Diff line number Diff line change @@ -11,24 +11,26 @@ interface ArtworkOwner {
1111 owner : CommunityContractPeople
1212}
1313
14- export const fetchRandomArtworkWithUser = async ( amount ?: number ) : Promise < ArtworkOwner | undefined > => {
15- const artwork = ( await fetchRandomArtwork ( amount || 1 ) ) ?. entities ?. [ 0 ] ;
14+ export const fetchRandomArtworkWithUser = async ( amount ?: number ) : Promise < Array < ArtworkOwner > > => {
15+ const artwork = ( await fetchRandomArtwork ( amount || 4 ) ) ?. entities || [ ] ;
16+ const result : Array < ArtworkOwner > = [ ] ;
1617
17- if ( artwork ) {
18- const artworkId = artwork . contractId ;
18+ for ( let artworkElement of artwork ) {
19+ const artworkId = artworkElement . contractId ;
1920 const artworkState = ( await fetchContract ( artworkId ) ) ?. state ;
2021 if ( artworkState ) {
21- const owner = await fetchUserByUsername ( artwork . lister ) ;
22+ const owner = await fetchUserByUsername ( artworkElement . lister ) ;
2223 if ( owner ) {
23- return {
24+ result . push ( {
2425 id : artworkId ,
2526 name : artworkState . name ,
26- type : artwork . type ,
27- images : ( artwork . type === "collection" && artworkState . items . slice ( 0 , 3 ) ) || [ ] ,
27+ type : artworkElement . type ,
28+ images : ( artworkElement . type === "collection" && artworkState ? .items ? .slice ( 0 , 3 ) ) || [ ] ,
2829 owner
29- }
30+ } ) ;
3031 }
3132 }
3233 }
3334
35+ return result ;
3436}
Original file line number Diff line number Diff line change @@ -139,14 +139,15 @@ describe("API test", () => {
139139 } ) ;
140140
141141 test ( "Fetch random artwork with user" , async ( ) => {
142- const tokenArtwork = await fetchRandomArtworkWithUser ( 1 ) ;
143- expect ( tokenArtwork ! . id ) . not . toBeUndefined ( ) ;
144- expect ( tokenArtwork ! . name ) . not . toBeUndefined ( ) ;
145- if ( tokenArtwork ! . type === "collection" ) {
146- expect ( tokenArtwork ! . images ) . not . toBeUndefined ( ) ;
147- expect ( tokenArtwork ! . images . length ) . toBeGreaterThanOrEqual ( 1 ) ;
142+ const tokenArtwork = await fetchRandomArtworkWithUser ( ) ;
143+ expect ( tokenArtwork . length ) . toBeGreaterThanOrEqual ( 4 ) ;
144+ expect ( tokenArtwork [ 0 ] ! . id ) . not . toBeUndefined ( ) ;
145+ expect ( tokenArtwork [ 0 ] ! . name ) . not . toBeUndefined ( ) ;
146+ if ( tokenArtwork [ 0 ] ! . type === "collection" ) {
147+ expect ( tokenArtwork [ 0 ] ! . images ) . not . toBeUndefined ( ) ;
148+ expect ( tokenArtwork [ 0 ] ! . images . length ) . toBeGreaterThanOrEqual ( 1 ) ;
148149 }
149- expect ( tokenArtwork ! . owner . username ) . not . toBeUndefined ( ) ;
150+ expect ( tokenArtwork [ 0 ] ! . owner . username ) . not . toBeUndefined ( ) ;
150151 } ) ;
151152
152153 test ( "Fetch artwork metadata" , async ( ) => {
You can’t perform that action at this time.
0 commit comments