"use strict";

var _interfaces = require("./interfaces");

/* eslint-disable max-nested-callbacks */
describe('interfaces', function () {
  test('should not include implementations', function () {
    var instances = [new _interfaces.CommerceConnector(), new _interfaces.ParserHooks()];
    instances.forEach(function (instance) {
      var methods = Object.getOwnPropertyNames(Object.getPrototypeOf(instance)).filter(function (x) {
        return x !== 'constructor';
      });
      methods.forEach(function (methodName) {
        expect(function () {
          return instance[methodName]();
        }).toThrow(new Error('Not implemented'));
      });
    });
  });
});