2017-12-06 1 views
0

What'sに送信された後、それは2つのエラーを引き起こす?ヘッダーを設定することはできません彼らはBeforeEach、エラーが発生しました:</p> <p>エラー:彼らはこのコードで間違って

はTypeErrorを送信された後、ヘッダーを設定することはできません:未定義のプロパティ '_id'を読み取ることができません。

私は思っているのは連鎖です。その後、BeforeEachでは、私はそれを解決することができない、誰かが助けることができますか?ありがとう。

const expect = require('expect'); 
const request = require('supertest'); 
const{ObjectID} = require('mongodb'); 

const {app} = require('./../server'); 
const {Todo} = require('./../models/todo'); 

if(!module.parent) { 
app.listen(); 
} 

const todos=[{ 
    _id:new ObjectID(), 
    text:"2 test todo" 
}, 
{ 
_id:new ObjectID(), 
text:"1 test todo" 
}]; 

beforeEach((done) => { 
    Todo.remove({}).then(() => { 
    return Todo.insertMany(todos); 
    }).then(() => done()); 
}); 

describe('DELETE /todos/:id',() => { 
    it('most delete a doc', (done) => { 
    let hexId = todos[1]._id.toHexString(); 

    request(app) 
    .delete(`/todos/${hexId}`) 
    .expect(200) 
    .expect((res) => { 
     expect(res.body.todo._id).toBe(hexId); 
    }) 
    .end((err, res) => { 
     if(err) return done(err); 

    Todo.findById(hexId).then((todo) => { 
     expect(todo).toNotExist(); 
     done(); 
    }).catch((e) => done(e)); 

    }); 
    }); 
}); 

答えて

0

エラー:彼らは

に送られた後、ヘッダーを設定することはできません - >コールバック(行って)すでに

TypeError例外と呼ばれる理由:未定義のプロパティを読み取ることができません '_id'。

私はTypeError例外の行番号を知らないが、アスペクトのコメントは、コードの下ではあるものの

beforeEach((done) => { 
    Todo.remove({}).then(() => { 
    return Todo.insertMany(todos); 
    }) 
    .then(() =>{ 
    describe('DELETE /todos/:id',() => { 
     it('most delete a doc', (done) => { 
     let hexId = todos[1]._id.toHexString(); 

     request(app) 
     .delete(`/todos/${hexId}`) 
     .expect(200) 
     .expect((res) => { 
       // make sure you are you getting from req.body 
      expect(res.body.todo._id).toBe(hexId); 
     }) 
     .end((err, res) => { 
      if(err) return done(err); 

     Todo.findById(hexId).then((todo) => { 
      expect(todo).toNotExist(); 
      done(); 
     }).catch((e) => done(e)); 

     }); 
     }); 
    }); 

}); 
関連する問題