2016-10-18 7 views
2

Это как одна из моих функций перехвата выглядит сейчас:перехватывать все запросы с различными глаголами в зарубки

interceptWithError() { 
    nock(baseUrl) 
    .get(/.*/) 
    .replyWithError(500); 

    nock(baseUrl) 
    .put(/.*/) 
    .replyWithError(500); 

    nock(baseUrl) 
    .post(/.*/) 
    .replyWithError(500); 

    nock(baseUrl) 
    .delete(/.*/) 
    .replyWithError(500); 
} 

Я хотел бы избежать повторения, а также придать ему большую гибкость, делая что-то вроде этого:

interceptWithError(params) { 
    const verb = params && params.verb; 
    const stat = params && params.stat; 

    return nock(baseUrl) 
    .[verb] // something like this!!! 
    .replyWithError(stat) 
} 

Есть ли способ сделать это ???

ответ

0

Это то, что я придумал :)

baseNock(url) { 
    return this.nock(url) 
    .replyContentLength() 
    .defaultReplyHeaders({ 'Content-Type': 'application/json' }); 
} 

interceptWithError(verbCodeMap) { 
    const verbs = (verbCodeMap && Object.keys(verbCodeMap)) 
    || ['post', 'get', 'put', 'delete']; 

    return verbs.map(verb => 
    baseNock(someUrl)[verb](/.*/) 
     .replyWithError((verbCodeMap && verbCodeMap[verb]) || 500));  
} 

 Смежные вопросы

  • Нет связанных вопросов^_^