diff options
Diffstat (limited to 'test/scenario')
| -rw-r--r-- | test/scenario/DSLSpec.js | 24 | ||||
| -rw-r--r-- | test/scenario/RunnerSpec.js | 97 | 
2 files changed, 61 insertions, 60 deletions
diff --git a/test/scenario/DSLSpec.js b/test/scenario/DSLSpec.js index 5aac9752..442178d0 100644 --- a/test/scenario/DSLSpec.js +++ b/test/scenario/DSLSpec.js @@ -1,22 +1,22 @@  describe("DSL", function() { -  var lastStep, executeStep, lastDocument; +  var lastFuture, executeFuture, lastDocument;    beforeEach(function() { -    lastStep = null; +    lastFuture = null;      $scenario = { -      addStep: function(name, stepFunction) { -        lastStep = { name:name, fn: stepFunction}; +      addFuture: function(name, behavior) { +        lastFuture = { name:name, behavior: behavior};        }      }; -    executeStep = function(step, html, callback) { +    executeFuture = function(future, html, callback) {        lastDocument =_jQuery('<div>' + html + '</div>');        _jQuery(document.body).append(lastDocument);        var specThis = {          testWindow: window,          testDocument: lastDocument        }; -      step.fn.call(specThis, callback || noop); +      future.behavior.call(specThis, callback || noop);      };    }); @@ -25,15 +25,15 @@ describe("DSL", function() {      var input = angular.scenario.dsl.input;      it('should enter', function() {        input('name').enter('John'); -      expect(lastStep.name).toEqual("Set input text of 'name' to 'John'"); -      executeStep(lastStep, '<input type="text" name="name" />'); +      expect(lastFuture.name).toEqual("Set input text of 'name' to 'John'"); +      executeFuture(lastFuture, '<input type="text" name="name" />');        expect(lastDocument.find('input').val()).toEqual('John');      });      it('should select', function() {        input('gender').select('female'); -      expect(lastStep.name).toEqual("Select radio 'gender' to 'female'"); -      executeStep(lastStep, +      expect(lastFuture.name).toEqual("Select radio 'gender' to 'female'"); +      executeFuture(lastFuture,          '<input type="radio" name="0@gender" value="male" checked/>' +          '<input type="radio" name="0@gender" value="female"/>');        expect(lastDocument.find(':radio:checked').length).toEqual(1); @@ -46,9 +46,9 @@ describe("DSL", function() {      describe('repeater', function() {        it('should check the count of repeated elements', function() {          dslExpect.repeater('.repeater-row').count.toEqual(2); -        expect(lastStep.name).toEqual("Expect that there are 2 items in Repeater with selector '.repeater-row'"); +        expect(lastFuture.name).toEqual("Expect that there are 2 items in Repeater with selector '.repeater-row'");          var html = "<div class='repeater-row'>a</div><div class='repeater-row'>b</div>"; -        executeStep(lastStep, html); +        executeFuture(lastFuture, html);        });      });    }); diff --git a/test/scenario/RunnerSpec.js b/test/scenario/RunnerSpec.js index 884e897a..689354df 100644 --- a/test/scenario/RunnerSpec.js +++ b/test/scenario/RunnerSpec.js @@ -34,7 +34,7 @@ describe('Runner', function(){          });          expect(log).toEqual('body');          var spec = $scenario.specs['describe name: it should text']; -        expect(spec.steps).toEqual([]); +        expect(spec.futures).toEqual([]);          expect(spec.name).toEqual('describe name: it should text');        }); @@ -42,7 +42,7 @@ describe('Runner', function(){          // WRITE ME!!!!        }); -      it('should create a failing step if there is a javascript error', function(){ +      it('should create a failing future if there is a javascript error', function(){          var spec;          Describe('D1', function(){            It('I1', function(){ @@ -50,10 +50,10 @@ describe('Runner', function(){              throw {message: 'blah'};            });          }); -        var step = spec.steps[0]; -        expect(step.name).toEqual('blah'); +        var future = spec.futures[0]; +        expect(future.name).toEqual('blah');          try { -          step.fn(); +          future.behavior();            fail();          } catch (e) {            expect(e.message).toEqual('blah'); @@ -97,60 +97,61 @@ describe('Runner', function(){          var next;          Describe('describe name', function(){            AfterEach(function() { -            $scenario.addStep('afterEachLog', logger('after;')); -            $scenario.addStep('afterEachThrow', function() { +            $scenario.addFuture('afterEachLog', logger('after;')); +            $scenario.addFuture('afterEachThrow', function() {                throw "AfterError";              });            });            It('should text1', function() { -            $scenario.addStep('step1', logger('step1;')); +            $scenario.addFuture('future1', logger('future1;'));            });            It('should text2', function() { -            $scenario.addStep('step2', logger('step2;')); +            $scenario.addFuture('future2', logger('future2;'));            });          });          $scenario.run(body); -        expect(log).toEqual('step1;after;step2;after;'); +        expect(log).toEqual('future1;after;future2;after;');          expect(scenario.$testrun.results).toEqual([            { name : 'describe name: it should text1',              passed : false,              error : 'AfterError', -            steps : [ 'step1', 'afterEachLog', 'afterEachThrow' ] }, +            steps : [ 'future1', 'afterEachLog', 'afterEachThrow' ] },            { name : 'describe name: it should text2',              passed : false,              error : 'AfterError', -            steps : [ 'step2', 'afterEachLog', 'afterEachThrow' ] }]); +            steps : [ 'future2', 'afterEachLog', 'afterEachThrow' ] }]);        });      });    }); -  describe('steps building', function(){ -    it('should queue steps', function(){ -      function step(){}; +  describe('future building', function(){ +    it('should queue futures', function(){ +      function behavior(){};        Describe('name', function(){          It('should', function(){ -          $scenario.addStep('stepname', step); +          $scenario.addFuture('futureName', behavior);          });        }); -      expect($scenario.specs['name: it should'].steps).toEqual([{name:'stepname', fn:step}]); +      expect($scenario.specs['name: it should'].futures[0].name). +        toEqual('futureName');      });    });    describe('execution', function(){ -    it('should execute the queued steps', function(){ +    it('should execute the queued futures', function(){        var next, firstThis, secondThis, doneThis, spec;        $scenario.specs['spec'] = { -        steps: [ -          {name:'step1', fn: function(done) { -            next = done; -            log += 'first;'; -            firstThis = this; -          }}, -          {name:'step2', fn:function(done){ -            next = done; -            log += 'second;'; -            secondThis = this; -          }} +        futures: [ +            new Future('future1', function(done) { +              next = done; +              log += 'first;'; +              firstThis = this; +            }), +            new Future('future2', function(done) { +              next = done; +              log += 'second;'; +              secondThis = this; +            })          ]        }; @@ -174,18 +175,18 @@ describe('Runner', function(){        expect(spec.result.passed).toEqual(true);      }); -    it('should handle exceptions in a step', function(){ +    it('should handle exceptions in a future', function(){        $scenario.specs['spec'] = { -          steps: [ -            {name: 'first step', fn: function(done) { +          futures: [ +            new Future('first future', function(done) {                done(); -            }}, -            {name:'error', fn:function(done) { +            }), +            new Future('error', function(done) {                throw "MyError"; -            }}, -            {name: 'should not execute', fn: function(done) { +            }), +            new Future('should not execute', function(done) {                done(); -            }} +            })            ]          }; @@ -199,7 +200,7 @@ describe('Runner', function(){            name: 'spec',            passed: false,            error: 'MyError', -          steps: ['first step', 'error']}]); +          steps: ['first future', 'error']}]);      });    }); @@ -207,15 +208,15 @@ describe('Runner', function(){      var next;      beforeEach(function() {        Describe('d1', function(){ -        It('it1', function(){ $scenario.addStep('s1', logger('s1,')); }); +        It('it1', function(){ $scenario.addFuture('s1', logger('s1,')); });          It('it2', function(){ -          $scenario.addStep('s2', logger('s2,')); -          $scenario.addStep('s2.2', function(done){ next = done; }); +          $scenario.addFuture('s2', logger('s2,')); +          $scenario.addFuture('s2.2', function(done){ next = done; });          });        });        Describe('d2', function(){ -        It('it3', function(){ $scenario.addStep('s3', logger('s3,')); }); -        It('it4', function(){ $scenario.addStep('s4', logger('s4,')); }); +        It('it3', function(){ $scenario.addFuture('s3', logger('s3,')); }); +        It('it4', function(){ $scenario.addFuture('s4', logger('s4,')); });        });      });      it('should execute all specs', function(){ @@ -231,15 +232,15 @@ describe('Runner', function(){        $scenario.run(body);        expect(scenario.$testrun.done).toBeFalsy();        expect(scenario.$testrun.results).toEqual([ -        {name: 'd1: it it1', passed: true, steps: ['s1']} +        {name: 'd1: it it1', passed: true, error: undefined, steps: ['s1']}        ]);        next();        expect(scenario.$testrun.done).toBeTruthy();        expect(scenario.$testrun.results).toEqual([ -        {name: 'd1: it it1', passed: true, steps: ['s1']}, -        {name: 'd1: it it2', passed: true, steps: ['s2', 's2.2']}, -        {name: 'd2: it it3', passed: true, steps: ['s3']}, -        {name: 'd2: it it4', passed: true, steps: ['s4']} +        {name: 'd1: it it1', passed: true, error: undefined, steps: ['s1']}, +        {name: 'd1: it it2', passed: true, error: undefined, steps: ['s2', 's2.2']}, +        {name: 'd2: it it3', passed: true, error: undefined, steps: ['s3']}, +        {name: 'd2: it it4', passed: true, error: undefined, steps: ['s4']}        ]);      });    });  | 
