@@ -8,67 +8,77 @@ import USERS from './fixtures/users.js';
88import VERSION_DOWNLOADS from './fixtures/version-downloads.js' ;
99import VERSIONS from './fixtures/versions.js' ;
1010
11- export function loadFixtures ( db ) {
12- CATEGORIES . forEach ( it => db . category . create ( it ) ) ;
13- let keywords = KEYWORDS . map ( it => db . keyword . create ( it ) ) ;
11+ export async function loadFixtures ( db ) {
12+ await Promise . all ( structuredClone ( CATEGORIES ) . map ( it => db . category . create ( it ) ) ) ;
13+ let keywords = await Promise . all ( structuredClone ( KEYWORDS ) . map ( it => db . keyword . create ( it ) ) ) ;
1414
15- let users = USERS . map ( it => db . user . create ( it ) ) ;
16- let teams = TEAMS . map ( it => db . team . create ( it ) ) ;
15+ let users = await Promise . all ( structuredClone ( USERS ) . map ( it => db . user . create ( it ) ) ) ;
16+ let teams = await Promise . all ( structuredClone ( TEAMS ) . map ( it => db . team . create ( it ) ) ) ;
1717
18- let crates = CRATES . map ( it => {
19- if ( it . keywordIds ) {
20- it . keywords = it . keywordIds . map ( id => keywords . find ( k => k . id === id ) ) . filter ( Boolean ) ;
21- delete it . keywordIds ;
22- }
18+ let crates = await Promise . all (
19+ structuredClone ( CRATES ) . map ( it => {
20+ if ( it . keywordIds ) {
21+ it . keywords = it . keywordIds . map ( id => keywords . find ( k => k . id === id ) ) . filter ( Boolean ) ;
22+ delete it . keywordIds ;
23+ }
2324
24- return db . crate . create ( it ) ;
25- } ) ;
25+ return db . crate . create ( it ) ;
26+ } ) ,
27+ ) ;
2628
27- CRATE_OWNERSHIPS . forEach ( it => {
28- if ( it . crateId ) {
29- it . crate = crates . find ( c => c . name === it . crateId ) ;
30- delete it . crateId ;
31- }
32- if ( it . teamId ) {
33- it . team = teams . find ( t => t . id === it . teamId ) ;
34- delete it . teamId ;
35- }
36- if ( it . userId ) {
37- it . user = users . find ( u => u . id === it . userId ) ;
38- delete it . userId ;
39- }
29+ await Promise . all (
30+ structuredClone ( CRATE_OWNERSHIPS ) . map ( it => {
31+ if ( it . crateId ) {
32+ it . crate = crates . find ( c => c . name === it . crateId ) ;
33+ delete it . crateId ;
34+ }
35+ if ( it . teamId ) {
36+ it . team = teams . find ( t => t . id === it . teamId ) ;
37+ delete it . teamId ;
38+ }
39+ if ( it . userId ) {
40+ it . user = users . find ( u => u . id === it . userId ) ;
41+ delete it . userId ;
42+ }
4043
41- return db . crateOwnership . create ( it ) ;
42- } ) ;
44+ return db . crateOwnership . create ( it ) ;
45+ } ) ,
46+ ) ;
4347
44- let versions = VERSIONS . map ( it => {
45- if ( it . crateId ) {
46- it . crate = crates . find ( c => c . name === it . crateId ) ;
47- delete it . crateId ;
48- }
48+ let versions = await Promise . all (
49+ structuredClone ( VERSIONS ) . map ( it => {
50+ if ( it . crateId ) {
51+ it . crate = crates . find ( c => c . name === it . crateId ) ;
52+ delete it . crateId ;
53+ }
4954
50- return db . version . create ( it ) ;
51- } ) ;
55+ return db . version . create ( it ) ;
56+ } ) ,
57+ ) ;
5258
53- DEPENDENCIES . forEach ( it => {
54- if ( it . crateId ) {
55- it . crate = crates . find ( c => c . name === it . crateId ) ;
56- delete it . crateId ;
57- }
58- if ( it . versionId ) {
59- it . version = versions . find ( v => v . id === it . versionId ) ;
60- delete it . versionId ;
61- }
59+ await Promise . all (
60+ structuredClone ( DEPENDENCIES ) . map ( it => {
61+ if ( it . crateId ) {
62+ it . crate = crates . find ( c => c . name === it . crateId ) ;
63+ delete it . crateId ;
64+ }
65+ if ( it . versionId ) {
66+ it . version = versions . find ( v => v . id === it . versionId ) ;
67+ delete it . versionId ;
68+ }
6269
63- return db . dependency . create ( it ) ;
64- } ) ;
70+ return db . dependency . create ( it ) ;
71+ } ) ,
72+ ) ;
6573
66- VERSION_DOWNLOADS . forEach ( it => {
67- if ( it . versionId ) {
68- it . version = versions . find ( v => v . id === it . versionId ) ;
69- delete it . versionId ;
70- }
74+ await Promise . all (
75+ structuredClone ( VERSION_DOWNLOADS ) . map ( it => {
76+ if ( it . versionId ) {
77+ it . version = versions . find ( v => v . id === it . versionId ) ;
78+ delete it . versionId ;
79+ }
7180
72- return db . versionDownload . create ( it ) ;
73- } ) ;
81+ return db . versionDownload . create ( it ) ;
82+ } ) ,
83+ ) ;
7484}
0 commit comments