Browse Source

fix(test): Fix non-deterministic e2e test queries

Michael Bromley 6 years ago
parent
commit
0dab9ebac8

+ 2 - 1
packages/core/e2e/shop-catalog.e2e-spec.ts

@@ -236,6 +236,7 @@ describe('Shop catalog', () => {
         beforeAll(async () => {
             const result = await adminClient.query<GetFacetList.Query>(GET_FACET_LIST);
             const category = result.facets.items[0];
+            const sportsEquipment = category.values.find(v => v.code === 'sports-equipment')!;
             const { createCollection } = await adminClient.query<
                 CreateCollection.Mutation,
                 CreateCollection.Variables
@@ -247,7 +248,7 @@ describe('Shop catalog', () => {
                             arguments: [
                                 {
                                     name: 'facetValueIds',
-                                    value: `["${category.values[3].id}"]`,
+                                    value: `["${sportsEquipment.id}"]`,
                                     type: 'facetValueIds',
                                 },
                                 {

+ 12 - 2
packages/core/src/plugin/default-search-plugin/search-strategy/sqlite-search-strategy.ts

@@ -18,7 +18,11 @@ export class SqliteSearchStrategy implements SearchStrategy {
 
     constructor(private connection: Connection) {}
 
-    async getFacetValueIds(ctx: RequestContext, input: SearchInput, enabledOnly: boolean): Promise<Map<ID, number>> {
+    async getFacetValueIds(
+        ctx: RequestContext,
+        input: SearchInput,
+        enabledOnly: boolean,
+    ): Promise<Map<ID, number>> {
         const facetValuesQb = this.connection
             .getRepository(SearchIndexItem)
             .createQueryBuilder('si')
@@ -36,7 +40,11 @@ export class SqliteSearchStrategy implements SearchStrategy {
         return createFacetIdCountMap(facetValuesResult);
     }
 
-    async getSearchResults(ctx: RequestContext, input: SearchInput, enabledOnly: boolean): Promise<SearchResult[]> {
+    async getSearchResults(
+        ctx: RequestContext,
+        input: SearchInput,
+        enabledOnly: boolean,
+    ): Promise<SearchResult[]> {
         const take = input.take || 25;
         const skip = input.skip || 0;
         const sort = input.sort;
@@ -59,6 +67,8 @@ export class SqliteSearchStrategy implements SearchStrategy {
             if (sort.price) {
                 qb.addOrderBy('price', sort.price);
             }
+        } else {
+            qb.addOrderBy('productVariantId', 'ASC');
         }
         if (enabledOnly) {
             qb.andWhere('si.enabled = :enabled', { enabled: true });