开玩笑:.toBeInstanceOf()似乎匹配,但测试失败

时间:2020-01-27 20:41:55

标签: typescript jestjs

下面的我的匹配器似乎收到了预期的实例,但失败了。任何人都可以理解这个结果并解释如何使其通过吗?

// 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);
  });

来自package.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",

0 个答案:

没有答案