"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const assert = require("assert"); const sinon = require("sinon"); const sync_1 = require("../readers/sync"); const settings_1 = require("../settings"); const tests = require("../tests"); const sync_2 = require("./sync"); class TestProvider extends sync_2.default { constructor(options) { super(new settings_1.default(options)); this._reader = sinon.createStubInstance(sync_1.default); } get reader() { return this._reader; } } function getProvider(options) { return new TestProvider(options); } describe('Providers → ProviderSync', () => { describe('Constructor', () => { it('should create instance of class', () => { const provider = getProvider(); assert.ok(provider instanceof sync_2.default); }); }); describe('.read', () => { it('should return entries for dynamic task', () => { const provider = getProvider(); const task = tests.task.builder().base('.').positive('*').build(); const entry = tests.entry.builder().path('root/file.txt').file().build(); provider.reader.dynamic.returns([entry]); const expected = ['root/file.txt']; const actual = provider.read(task); assert.strictEqual(provider.reader.dynamic.callCount, 1); assert.deepStrictEqual(actual, expected); }); it('should return entries for static task', () => { const provider = getProvider(); const task = tests.task.builder().base('.').static().positive('root/file.txt').build(); const entry = tests.entry.builder().path('root/file.txt').file().build(); provider.reader.static.returns([entry]); const expected = ['root/file.txt']; const actual = provider.read(task); assert.strictEqual(provider.reader.static.callCount, 1); assert.deepStrictEqual(actual, expected); }); }); });