diff options
Diffstat (limited to 'test/jstd-scenario-adapter/AdapterSpecs.js')
| -rw-r--r-- | test/jstd-scenario-adapter/AdapterSpecs.js | 322 | 
1 files changed, 0 insertions, 322 deletions
| diff --git a/test/jstd-scenario-adapter/AdapterSpecs.js b/test/jstd-scenario-adapter/AdapterSpecs.js deleted file mode 100644 index e360ad4f..00000000 --- a/test/jstd-scenario-adapter/AdapterSpecs.js +++ /dev/null @@ -1,322 +0,0 @@ -'use strict'; - -describe('jstd-adapter', function() { -  var fakeJSTD = { pluginRegistrar: { register: function() {} } }, -      originalNavigateTo = angular.scenario.Application.prototype.navigateTo; - -  /** -   * Reverts hack on angular.scenario.Application.navigateTo -   * We should revert this hack after any single call of initScenarioAdapter, -   * so that it doesn't influence other tests... -   */ -  function revertNavigateToHack() { -    angular.scenario.Application.prototype.navigateTo = originalNavigateTo; -  } - -  /** -   * Helper for building angular.scenario.ObjectModel.Spec -   * @returns {angular.scenario.ObjectModel.Spec} -   */ -  function buildSpec(status, name, duration, definitions, error, line) { -    var spec = new angular.scenario.ObjectModel.Spec( -        'fake-id', name || 'name', definitions || ['desc1', 'desc2']); -    spec.duration = duration || 10; -    spec.status = status || 'success'; -    spec.error = error || ''; -    spec.line = line || ''; - -    return spec; -  } - -  /** -   * Helper for building angular.scenario.ObjectModel.Spec with error and error line -   * @returns {angular.scenario.ObjectModel.Spec} -   */ -  function buildErrorSpec(error, line, status, name) { -    return buildSpec(status || 'error', name, null, null, error, line); -  } - -  /** -   * Helper for building TestConfiguration -   * @returns {jstestdriver.TestRunConfiguration} -   */ -  function buildTestConf(type) { -    return new jstestdriver.TestRunConfiguration( -      new jstestdriver.TestCaseInfo('Fake test - ' + Math.random(), function() {}, type), null); -  } - -  /** -   * Helper for building SCENARIO TestConfiguration -   * @returns {jstestdriver.TestRunConfiguration} -   */ -  function buildScenarioTestConf() { -    return buildTestConf(SCENARIO_TYPE); -  } - -  describe('initScenarioAdapter', function() { -    afterEach(revertNavigateToHack); - -    it('should create and register plugin if jstestdriver defined', function() { -      spyOn(fakeJSTD.pluginRegistrar, 'register'); -      initScenarioAdapter(fakeJSTD); -      expect(fakeJSTD.pluginRegistrar.register).toHaveBeenCalled(); -      expect(fakeJSTD.pluginRegistrar.register.mostRecentCall.args[0] instanceof JstdPlugin); -    }); - -    it('should do nothing if jstestdriver not defined', function() { -      expect(function() { -        initScenarioAdapter(undefined); -      }).not.toThrow(); -    }); - -    it('should set setUpAndRun callback to plugin', function() { -      var runFn = jasmine.createSpy('setUpAndRun'); -      plugin.runScenario = null; - -      initScenarioAdapter(fakeJSTD, runFn); -      expect(plugin.runScenario).toBe(runFn); -    }); - -    describe('navigateTo', function() { -      var fakeJSTD = { pluginRegistrar: { register: function() {} } }, -          app = new angular.scenario.Application(_jQuery('<div></div>')), -          navigateSpy; - -      beforeEach(function() { -        navigateSpy = spyOn(angular.scenario.Application.prototype, 'navigateTo'); -      }); - -      it('should add url prefix when jstd defined', function() { -        initScenarioAdapter(fakeJSTD, null, {relativeUrlPrefix: '/prefix/'}); - -        app.navigateTo('test.html'); -        expect(navigateSpy).toHaveBeenCalled(); -        expect(navigateSpy.mostRecentCall.args[0]).toEqual('/prefix/test.html'); -      }); - -      it('should add forward-slash as default url prefix when jstd defined', function() { -        initScenarioAdapter(fakeJSTD); - -        app.navigateTo('test.html'); -        expect(navigateSpy).toHaveBeenCalled(); -        expect(navigateSpy.mostRecentCall.args[0]).toEqual('/test.html'); -      }); - -      it('should not change url when jstd not defined', function() { -        initScenarioAdapter(null); - -        app.navigateTo('test.html'); -        expect(navigateSpy).toHaveBeenCalled(); -        expect(navigateSpy.mostRecentCall.args[0]).toEqual('test.html'); -      }); - -      it('should not change hash url', function() { -        initScenarioAdapter(fakeJSTD); - -        app.navigateTo('#/index.html/a'); -        expect(navigateSpy).toHaveBeenCalled(); -        expect(navigateSpy.mostRecentCall.args[0]).toEqual('#/index.html/a'); -      }); - -      it('should not change absolute url', function() { -        initScenarioAdapter(fakeJSTD); - -        app.navigateTo('/index.html/a'); -        expect(navigateSpy).toHaveBeenCalled(); -        expect(navigateSpy.mostRecentCall.args[0]).toEqual('/index.html/a'); -      }); - -      it('should not change "about:blank" url', function() { -        initScenarioAdapter(fakeJSTD); - -        app.navigateTo('about:blank'); -        expect(navigateSpy).toHaveBeenCalled(); -        expect(navigateSpy.mostRecentCall.args[0]).toEqual('about:blank'); -      }); - -      it('should not change url with domain', function() { -        initScenarioAdapter(fakeJSTD); - -        app.navigateTo('http://www.google.com'); -        expect(navigateSpy).toHaveBeenCalled(); -        expect(navigateSpy.mostRecentCall.args[0]).toEqual('http://www.google.com'); -      }); -    }); -  }); - -  describe('JstdPlugin', function() { -    var p; - -    beforeEach(function() { -      p = new JstdPlugin(); -    }); - -    describe('runTestConfiguration', function() { -      var initScenarioSpy, onTestSpy, onAllTestsSpy, spec, modelSpec; - -      beforeEach(function() { -        initScenarioSpy = jasmine.createSpy('initScenarioAndRun'); -        onTestSpy = jasmine.createSpy('onOneTest'); -        onAllTestsSpy = jasmine.createSpy('onAllTests'); - -        p.runScenario = initScenarioSpy; -        spec = {id: 'fake', name: 'Spec Name'}; -        modelSpec = new angular.scenario.ObjectModel.Spec(spec.id, spec.name); -      }); - -      it('should ignore non scenario test cases', function() { -        expect(p.runTestConfiguration(buildTestConf(), onTestSpy, onAllTestsSpy)).toBe(false); -        expect(p.runTestConfiguration(buildTestConf('async'), onTestSpy, onAllTestsSpy)).toBe(false); -        expect(initScenarioSpy).not.toHaveBeenCalled(); -        expect(onTestSpy).not.toHaveBeenCalled(); -        expect(onAllTestsSpy).not.toHaveBeenCalled(); -      }); - -      it('should return true when scenario test case', function() { -        expect(p.runTestConfiguration(buildScenarioTestConf(), onTestSpy, onAllTestsSpy)).toBe(true); -      }); - -      it('should call initAndRunTests when scenario test case', function() { -        p.runTestConfiguration(buildScenarioTestConf(), onTestSpy, onAllTestsSpy); -        expect(initScenarioSpy).toHaveBeenCalled(); -      }); -    }); - -    describe('getTestRunsConfigurationFor', function() { -      it('should add TestRunConfiguration with SCENARIO_TYPE TestCase', function() { -        var configurations = []; -        p.getTestRunsConfigurationFor(null, null, configurations); - -        expect(configurations.length).toBe(1); -        expect(configurations[0] instanceof jstestdriver.TestRunConfiguration).toBe(true); -        expect(configurations[0].getTestCaseInfo().getType()).toEqual(SCENARIO_TYPE); -      }); - -      it('should always return true', function() { -        expect(p.getTestRunsConfigurationFor(null, null, [])).toBe(true); -      }); -    }); -  }); - -  describe('createTestResultFromSpec', function() { -    it('should return jstestdriver.TestResult instance', function() { -      expect(createTestResultFromSpec(buildSpec()) instanceof jstestdriver.TestResult).toBe(true); -    }); - -    it('should set proper test name', function() { -      expect(createTestResultFromSpec(buildSpec()).testName).toEqual('name'); -    }); - -    it('should set duration', function() { -      expect(createTestResultFromSpec(buildSpec()).time).toEqual(10); -    }); - -    it('should set test case - full definition name', function() { -      var spec = buildSpec(); -      expect(createTestResultFromSpec(spec).testCaseName).toEqual(spec.fullDefinitionName); -    }); - -    it('should set passed result when success', function() { -      expect(createTestResultFromSpec(buildSpec('success')).result) -        .toEqual(jstestdriver.TestResult.RESULT.PASSED); -    }); - -    it('should set error result when error', function() { -      expect(createTestResultFromSpec(buildSpec('error')).result) -        .toEqual(jstestdriver.TestResult.RESULT.ERROR); -    }); - -    it('should set failed result when failure', function() { -      expect(createTestResultFromSpec(buildSpec('failure')).result) -        .toEqual(jstestdriver.TestResult.RESULT.FAILED); -    }); - -    it('should set error message when error/failure', function() { -      expect(createTestResultFromSpec(buildErrorSpec('error-message')).message) -      .toEqual('error-message'); -    }); - -    it('should log line number when error/failure', function() { -      expect(createTestResultFromSpec(buildErrorSpec('msg', 'line-number')).log) -      .toEqual('line-number'); -    }); -  }); - -  describe('angular.scenario.output.jstd', function() { -    var model; - -    beforeEach(function() { -      var runner = new angular.scenario.testing.MockRunner(), -          context = _jQuery("<div></div>"); - -      plugin = new JstdPlugin(); -      model = new angular.scenario.ObjectModel(runner); -      angular.scenario.output.jstd(context, runner, model); - -      spyOn(plugin, 'reportEnd'); -      spyOn(plugin, 'reportResult'); -    }); - -    it('should report end of all tests', function() { -      model.emit('RunnerEnd'); -      expect(plugin.reportEnd).toHaveBeenCalled(); -    }); - -    it('should report jstestdriver.TestResult', function() { -      model.emit('SpecEnd', buildSpec()); -      expect(plugin.reportResult).toHaveBeenCalled(); -      expect(plugin.reportResult.argsForCall[0][0] instanceof jstestdriver.TestResult).toBe(true); -    }); -  }); - -  // couple of higher level tests (wiring objects together) -  describe('HIGHER LEVEL', function() { -    var initScenarioSpy, onTestSpy, onAllTestsSpy, model; - -    beforeEach(function() { -      plugin = new JstdPlugin(); -      initScenarioSpy = jasmine.createSpy('initScenarioAndRun'); -      onTestSpy = jasmine.createSpy('onOneTest'); -      onAllTestsSpy = jasmine.createSpy('onAllTests'); - -      var runner = new angular.scenario.testing.MockRunner(), -          context = _jQuery("<div></div>"); - -      model = new angular.scenario.ObjectModel(runner); -      angular.scenario.output.jstd(context, runner, model); - -      initScenarioAdapter(fakeJSTD, initScenarioSpy); -      plugin.runTestConfiguration(buildScenarioTestConf(), onTestSpy, onAllTestsSpy); -    }); - -    afterEach(revertNavigateToHack); - -    it('should report and of test suite', function() { -      model.emit('RunnerEnd'); -      expect(onAllTestsSpy).toHaveBeenCalled(); -    }); - -    it('should report success test result', function() { -      model.emit('SpecEnd', buildSpec('success', 'name')); -      expect(onTestSpy).toHaveBeenCalled(); -      var result = onTestSpy.argsForCall[0][0]; -      expect(result instanceof jstestdriver.TestResult).toBe(true); -      expect(result.testName).toEqual('name'); -      expect(result.result).toEqual(jstestdriver.TestResult.RESULT.PASSED); -    }); - -    it('should report error test result', function() { -      model.emit('SpecEnd', buildSpec('error')); -      expect(onTestSpy).toHaveBeenCalled(); -      var result = onTestSpy.argsForCall[0][0]; -      expect(result.result).toEqual(jstestdriver.TestResult.RESULT.ERROR); -    }); - -    it('should report failed test result', function() { -      model.emit('SpecEnd', buildSpec('failure')); -      expect(onTestSpy).toHaveBeenCalled(); -      var result = onTestSpy.argsForCall[0][0]; -      expect(result.result).toEqual(jstestdriver.TestResult.RESULT.FAILED); -    }); -  }); -}); | 
