prefilledArguments.test.mjs 1.0 KB

12345678910111213141516171819202122232425262728293031323334
  1. import test from 'node:test'
  2. import assert from 'node:assert/strict'
  3. import { getInitialArgumentValue, readPrefilledArgumentsFromNavigation } from './prefilledArguments.js'
  4. test('readPrefilledArgumentsFromNavigation returns navigation state values', () => {
  5. assert.deepEqual(
  6. readPrefilledArgumentsFromNavigation({ prefilledArguments: { ansible_host: '10.0.0.1' } }),
  7. { ansible_host: '10.0.0.1' }
  8. )
  9. })
  10. test('readPrefilledArgumentsFromNavigation returns empty object when state is absent', () => {
  11. assert.deepEqual(readPrefilledArgumentsFromNavigation({}), {})
  12. assert.deepEqual(readPrefilledArgumentsFromNavigation(undefined), {})
  13. })
  14. test('getInitialArgumentValue prefers navigation state over query params', () => {
  15. assert.equal(
  16. getInitialArgumentValue(
  17. 'ansible_host',
  18. { ansible_host: '10.0.0.1' },
  19. '?ansible_host=10.0.0.2'
  20. ),
  21. '10.0.0.1'
  22. )
  23. })
  24. test('getInitialArgumentValue falls back to query params when state is absent', () => {
  25. assert.equal(
  26. getInitialArgumentValue('ansible_host', {}, '?ansible_host=10.0.0.2'),
  27. '10.0.0.2'
  28. )
  29. })