Jasmine (mocha) nested "it" tests

I was trying to test consequent create/delete of items (in mongoDB via mongoose).

The problem that creating is async and it returns ID of created item in callback function, I need this ID to deleted created item, so I tried the following code for mocha (in different ways) but it didn't work.

describe('Item Model', function(){

  it('should be able to create item', function(done){
    var item = new Item({name: {first: "Alex"});
    item.save(function(err, data){

      it('should be able to deleted created item', function(done){                    
        Item.delete({_id: data.id}, function(err, data){
        done(err);
        });
      });

    })
  });

});

Can such test be implemented in mocha or jasmine?

I would have two tests for that. One that is testing insert and one that tests remove.

Should look something like this in coffeescript

describe 'Item model', () ->
   item = ''
   before (done) ->
      item = new Item {name: {first: "Alex"}}
      done
    describe 'When inserting Item', () ->
        before (done) ->
            item.save done
        it 'should have been insterted' ->
            #CHECK HERE IT IF IT IS INSERTED

    decribe 'when deleteing', () ->
        before (done) ->
            item.save (err,data) ->
                return done err if err
                Item.delete {_id: data.id}, done
        it 'should have been deleted' ->
            #CHECK HERE IT IF IT IS Deleted

See this issue: https://github.com/visionmedia/mocha/issues/438

Seems that the intention is to force tests to be de-coupled. While inconvenient and possibly requiring more mocking, this behavior is useful because it requires less re-testing and provides a clearer image of exactly what is going wrong.

i.e. there are 2 tests, test A and test B, where B is dependent on A.

Test A breaks, B therefore breaking as well. You fix what is breaking test A, but may now be surprised to find that test B broke either in the process of your fix, or for an unrelated reason.

When the tests do not rely on each other, you have better information and fewer surprises.