checkin-nav-mode.test.cjs 1.31 KB
const chai = require('chai');

const expect = chai.expect;

describe('checkin nav mode helpers', function () {
  it('resolves nav mode and map height from route query', async function () {
    const {
      CHECKIN_NAV_MODE,
      resolveCheckinNavMode,
      getCheckinMapHeight,
    } = await import('../src/views/checkin/nav-mode.js');

    expect(resolveCheckinNavMode({})).to.equal(CHECKIN_NAV_MODE.LEGACY);
    expect(resolveCheckinNavMode({ navMode: 'jls' })).to.equal(CHECKIN_NAV_MODE.JLS);
    expect(resolveCheckinNavMode({ navMode: 'none' })).to.equal(CHECKIN_NAV_MODE.NONE);
    expect(resolveCheckinNavMode({ navMode: 'unexpected' })).to.equal(
      CHECKIN_NAV_MODE.LEGACY,
    );

    expect(
      getCheckinMapHeight({
        isMiniProgramWebView: false,
        navMode: CHECKIN_NAV_MODE.LEGACY,
      }),
    ).to.equal('100vh');

    expect(
      getCheckinMapHeight({
        isMiniProgramWebView: true,
        navMode: CHECKIN_NAV_MODE.LEGACY,
      }),
    ).to.equal('calc(100vh - 80px)');

    expect(
      getCheckinMapHeight({
        isMiniProgramWebView: true,
        navMode: CHECKIN_NAV_MODE.JLS,
      }),
    ).to.equal('calc(100vh - 80px)');

    expect(
      getCheckinMapHeight({
        isMiniProgramWebView: true,
        navMode: CHECKIN_NAV_MODE.NONE,
      }),
    ).to.equal('100vh');
  });
});