Jest: .toBeInstanceOf (), кажется, совпадает, но тест не проходит - PullRequest
0 голосов
/ 27 января 2020

Мое сопоставление ниже, похоже, получает ожидаемый экземпляр, но не удается. Может кто-нибудь разобраться в этом результате и объяснить, как заставить его пройти?

// class FirestoreConnection in the same named .ts file
  protected buildQueryUpToWhereClauseChain(priorQuery: any, whereClauses: WhereDefinition[]): admin.firestore.Query {

    let preparedWheresQuery: admin.firestore.Query = priorQuery;
    if (whereClauses.length > 0) {
      preparedWheresQuery = whereClauses
        .reduce((accumulatedQuery, {column, operator, value}) => {
          return accumulatedQuery.where(column, operator, value);
        }, priorQuery);

    }

    return preparedWheresQuery;
  }

Тест на расширенный класс выше:

test('builds .where() query', () => {
    const openFirestoreConnection = new OpenFirestoreConnection('testdomain.shopify.com', createTestDatabase(null));

    const startingQuery = openFirestoreConnection.database
      .collection("collectionName")
      .where("storeId", "==", openFirestoreConnection.shopDomain);

    const whereClauses: WhereDefinition[] = [{
      column: "testColumn"
      , operator: '=='
      , value: "testValue"
    }, {
      column: "testColumn2"
      , operator: '<='
      , value: "testValue2"
    }];

    const builtQuery = openFirestoreConnection.buildQueryUpToWhereClauseChain(startingQuery, whereClauses);

// Expected constructor: Query. Received constructor: Query
    expect(builtQuery).toBeInstanceOf(admin.firestore.Query);
  });

Из пакета. json

// dependencies
    "firebase-admin": "^8.8.0",
    "firebase-functions": "^3.3.0",
// devDependencies
    "@types/jest": "^24.0.23",
    "jest": "^24.9.0",
    "ts-jest": "^24.2.0",
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...