1dc51e206SEvan Baconimport { createMetadataJson } from '../createMetadataJson';
2dc51e206SEvan Bacon
3dc51e206SEvan Bacondescribe(createMetadataJson, () => {
4*1c6b79f1SEvan Bacon  it(`writes metadata without file hashes`, async () => {
5*1c6b79f1SEvan Bacon    // Should not throw
6*1c6b79f1SEvan Bacon    await createMetadataJson({
7*1c6b79f1SEvan Bacon      fileNames: {
8*1c6b79f1SEvan Bacon        ios: 'ios-xxfooxxbarxx.js',
9*1c6b79f1SEvan Bacon      },
10*1c6b79f1SEvan Bacon      bundles: {
11*1c6b79f1SEvan Bacon        ios: {
12*1c6b79f1SEvan Bacon          assets: [{ type: 'font' } as any],
13*1c6b79f1SEvan Bacon        },
14*1c6b79f1SEvan Bacon      },
15*1c6b79f1SEvan Bacon    });
16*1c6b79f1SEvan Bacon  });
17dc51e206SEvan Bacon  it(`writes metadata manifest`, async () => {
18dc51e206SEvan Bacon    const metadata = await createMetadataJson({
19dc51e206SEvan Bacon      fileNames: {
20dc51e206SEvan Bacon        ios: 'ios-xxfooxxbarxx.js',
21dc51e206SEvan Bacon      },
22dc51e206SEvan Bacon      bundles: {
23dc51e206SEvan Bacon        ios: {
24dc51e206SEvan Bacon          assets: [{ type: 'image', fileHashes: ['foobar', 'other'] } as any],
25dc51e206SEvan Bacon        },
26dc51e206SEvan Bacon      },
27dc51e206SEvan Bacon    });
28dc51e206SEvan Bacon
29dc51e206SEvan Bacon    expect(metadata).toStrictEqual({
30dc51e206SEvan Bacon      bundler: expect.any(String),
31dc51e206SEvan Bacon      fileMetadata: {
32dc51e206SEvan Bacon        ios: {
33dc51e206SEvan Bacon          assets: [
34dc51e206SEvan Bacon            {
35dc51e206SEvan Bacon              ext: 'image',
36dc51e206SEvan Bacon              path: 'assets/foobar',
37dc51e206SEvan Bacon            },
38dc51e206SEvan Bacon            {
39dc51e206SEvan Bacon              ext: 'image',
40dc51e206SEvan Bacon              path: 'assets/other',
41dc51e206SEvan Bacon            },
42dc51e206SEvan Bacon          ],
43dc51e206SEvan Bacon          bundle: 'bundles/ios-xxfooxxbarxx.js',
44dc51e206SEvan Bacon        },
45dc51e206SEvan Bacon      },
46dc51e206SEvan Bacon      version: expect.any(Number),
47dc51e206SEvan Bacon    });
48dc51e206SEvan Bacon  });
49dc51e206SEvan Bacon});
50