       @status(-2).should.be.false()
       callback null, false
     .then next
+
+  it 'honors conditions', (next) ->
+    mecano
+    .call
+      if: -> true
+    ,(options, callback) ->
+      callback null, true
+    .then (err, status) ->
+      return next err if err
+      status.should.be.true()
+    .call
+      if: -> false
+    ,(options, callback) ->
+      callback null, true
+    .then (err, status) ->
+      return next err if err
+      status.should.be.false()
+      next()
+
+
+
+

      callback null, false
    .then next

  it 'get current status', (next) ->
    mecano
    .call (options, callback) ->
      (@status(0) is undefined).should.be.true()

      @status(0).should.be.true()
    .then next

  it 'get previous', (next) ->
    mecano
    .call (options, callback) ->
      (@status(-1) is undefined).should.be.true()
