Написание модульного теста для поиска записи и сортировки записи в node js - PullRequest
0 голосов
/ 11 июля 2020

Просто новичок в написании модульных тестов. Просто хотел спросить, каков пример написания модульного теста для приведенного ниже примера кода, например, когда использовать assert? и как мне проверить фильтр в приведенном ниже коде? Спасибо. Я использую мокко в своем тесте uni

# текущий код модульного теста

.....
      it('load the hook', () => {
        assert.ok(search, 'Load the hook');
      });
    
      it('searches for record and sort', async () => {
    
        const search_key = "Rajesh"
    
        const people = await People.find({
          query: {
            $limit: 25,
            $skip: 0,
            $sort: {
              'people': 1,
            },
            $or: [{
              name: {
                $like: search_key,
              },
            }],
          },
        });
      });

1 Ответ

1 голос
/ 11 июля 2020

Как мы уже говорили, я добавил тестовые примеры для проверки фильтров по имени и сортировки. Для сортировки можно использовать пакет chai-sorting: npm install chai-sorted. Вам нужно будет немного изменить код в соответствии с комментариями ниже. Надеюсь, это поможет

it('searches for record and sort', async () => {
    const search_key = "Rajesh";
    const limit = 25;
    //you will need to have `data` variable and link `search_key` and `limit` with it somehow
    const people = await search_data()(data);
    if (people) {
      //length must be less than or equal to `limit`
      expect(people.length).to.be.at.most(limit);

      // check sorting by name. you can change it as descendingBy if you need
      expect(people).to.be.ascendingBy("name");

      people.forEach(person => { 
        //checking filter for name
        expect(person.name).to.have.string(search_key);
      });
    }        
});
...