103 lines · 3.3 KB
local biscuit = require('biscuit')

describe('biscuit', function()
  describe('setup', function()
    it('should initialize with default config', function()
      biscuit.setup({})
      assert.is_table(biscuit.config)
      assert.is_table(biscuit.config.codes)
      assert.equals(10, biscuit.config.batch_size)
      assert.equals(50, biscuit.config.batch_delay)
      assert.equals(3000, biscuit.config.wave_delay)
      assert.equals(0, biscuit.config.max_files)
      assert.is_true(biscuit.config.auto_save)
      assert.is_true(biscuit.config.auto_close)
    end)

    it('should merge user config with defaults', function()
      biscuit.setup({
        codes = { 'any', 'slicescontains' },
        batch_size = 20,
        auto_save = false,
      })
      assert.same({ 'any', 'slicescontains' }, biscuit.config.codes)
      assert.equals(20, biscuit.config.batch_size)
      assert.is_false(biscuit.config.auto_save)
      -- Defaults preserved
      assert.equals(50, biscuit.config.batch_delay)
      assert.equals(3000, biscuit.config.wave_delay)
    end)

    it('should reset prior user config when setup is called again', function()
      biscuit.setup({
        codes = { 'any' },
        batch_size = 20,
        auto_save = false,
      })

      biscuit.setup({
        batch_delay = 100,
      })