File size: 1,523 Bytes
a1c0952
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import assert from 'node:assert';
import test from 'node:test';

import fs from 'node:fs/promises';

import mainPrefCity from './01_make_prefecture_city.js';
import mainMachiAza from './02_make_machi_aza.js';
import mainRsdt from './03_make_rsdt.js';
import mainChiban from './04_make_chiban.js';

import main from './10_refresh_csv_ranges.js'
import { MachiAzaApi } from '../data.js';

await test.describe('with filter for 302015 (和歌山県和歌山市)', async () => {
  test.before(() => {
    process.env.SETTINGS_JSON = JSON.stringify({ lgCodes: ['302015'] });
  });

  test.after(() => {
    delete process.env.SETTINGS_JSON;
  });

  await test('it generates the API', async () => {
    await fs.rm('./out/api_wakayama_wakayama', { recursive: true, force: true });
    await mainPrefCity(['', '', './out/api_wakayama_wakayama']);
    await mainMachiAza(['', '', './out/api_wakayama_wakayama']);
    await mainRsdt(['', '', './out/api_wakayama_wakayama']);
    await mainChiban(['', '', './out/api_wakayama_wakayama']);
    await main(['', '', './out/api_wakayama_wakayama']);
    assert.ok(true);

    const machiAzaApi = JSON.parse(await fs.readFile('./out/api_wakayama_wakayama/ja/和歌山県/和歌山市.json', 'utf-8')) as MachiAzaApi;
    const data = machiAzaApi.data;
    assert(data.length > 100);
    assert.equal(data[0].oaza_cho, '葵町');
    assert('地番' in (data[0].csv_ranges || {}));
    assert('住居表示' in (data[0].csv_ranges || {}));
  });
});