|
8 | 8 | } from "./SearchClient"; |
9 | 9 |
|
10 | 10 | import reference from "./test-data/categories.json"; |
| 11 | +import { CategorizationType } from "./Common"; |
11 | 12 |
|
12 | 13 | describe("SearchClient basics", () => { |
13 | 14 | it("Should have imported SearchClient class defined", () => { |
@@ -530,7 +531,7 @@ describe("SearchClient filter interface", () => { |
530 | 531 |
|
531 | 532 | client.deferUpdates(false, false); |
532 | 533 |
|
533 | | - expect(findFetch).toBeCalledTimes(1); |
| 534 | + expect(findFetch).toHaveBeenCalledTimes(1); |
534 | 535 | expect(pClient.settings.query.matchPage).toEqual(2); |
535 | 536 |
|
536 | 537 | findFetch.mockReset(); |
@@ -620,15 +621,29 @@ describe("SearchClient filter interface", () => { |
620 | 621 | expect(client.matchGrouping).toBeTruthy(); |
621 | 622 | expect(client.query.matchGrouping).toBeTruthy(); |
622 | 623 | expect((client as any)._query.matchGrouping).toBeTruthy(); |
| 624 | + }); |
623 | 625 |
|
624 | | - mockFindRequest.mockReset(); |
625 | | - mockCatRequest.mockReset(); |
626 | | - client.update(); // Updating according to triggers and settings |
627 | | - expect(mockFindRequest).toHaveBeenCalledTimes(1); |
628 | | - expect(mockCatRequest).toHaveBeenCalledTimes(1); |
| 626 | + it("Should update as expected when client query properties changes", () => { |
| 627 | + let mockFindRequest = jest.fn(); |
| 628 | + let mockFindSuccess = jest.fn(); |
| 629 | + let mockCatRequest = jest.fn(); |
| 630 | + let mockCatSuccess = jest.fn(); |
| 631 | + |
| 632 | + let client = new SearchClient({ |
| 633 | + baseUrl: "http://localhost:9950/", |
| 634 | + find: { |
| 635 | + cbRequest: mockFindRequest, |
| 636 | + cbSuccess: mockFindSuccess |
| 637 | + }, |
| 638 | + categorize: { |
| 639 | + cbRequest: mockCatRequest, |
| 640 | + cbSuccess: mockCatSuccess |
| 641 | + }, |
| 642 | + query: { |
| 643 | + matchGrouping: true |
| 644 | + } |
| 645 | + }); |
629 | 646 |
|
630 | | - mockFindRequest.mockReset(); |
631 | | - mockCatRequest.mockReset(); |
632 | 647 | let q = client.query; |
633 | 648 | q.queryText = "test2\n"; // Modifying the reference, so should already do the updates. |
634 | 649 | client.update(q); // So the update should not do work. |
@@ -677,5 +692,72 @@ describe("SearchClient filter interface", () => { |
677 | 692 | client.forceUpdate(null, false, false, false); // Forcing an update, but stopping services |
678 | 693 | expect(mockFindRequest).toHaveBeenCalledTimes(0); |
679 | 694 | expect(mockCatRequest).toHaveBeenCalledTimes(0); |
| 695 | + |
| 696 | + mockFindRequest.mockReset(); |
| 697 | + mockCatRequest.mockReset(); |
| 698 | + client.uiLanguageCode = "no"; |
| 699 | + expect(mockFindRequest).toHaveBeenCalledTimes(0); |
| 700 | + expect(mockCatRequest).toHaveBeenCalledTimes(1); |
| 701 | + |
| 702 | + mockFindRequest.mockReset(); |
| 703 | + mockCatRequest.mockReset(); |
| 704 | + client.categorizationType = CategorizationType.DocumentHitsOnly; |
| 705 | + expect(mockFindRequest).toHaveBeenCalledTimes(0); |
| 706 | + expect(mockCatRequest).toHaveBeenCalledTimes(1); |
| 707 | + |
| 708 | + mockFindRequest.mockReset(); |
| 709 | + mockCatRequest.mockReset(); |
| 710 | + client.matchGenerateContent = true; |
| 711 | + expect(mockFindRequest).toHaveBeenCalledTimes(1); |
| 712 | + expect(mockCatRequest).toHaveBeenCalledTimes(0); |
| 713 | + |
| 714 | + // No changes - same value applied again. |
| 715 | + mockFindRequest.mockReset(); |
| 716 | + mockCatRequest.mockReset(); |
| 717 | + client.matchGenerateContent = true; |
| 718 | + expect(mockFindRequest).toHaveBeenCalledTimes(0); |
| 719 | + expect(mockCatRequest).toHaveBeenCalledTimes(0); |
| 720 | + |
| 721 | + mockFindRequest.mockReset(); |
| 722 | + mockCatRequest.mockReset(); |
| 723 | + client.matchGenerateContentHighlights = false; |
| 724 | + expect(mockFindRequest).toHaveBeenCalledTimes(1); |
| 725 | + expect(mockCatRequest).toHaveBeenCalledTimes(0); |
| 726 | + |
| 727 | + mockFindRequest.mockReset(); |
| 728 | + mockCatRequest.mockReset(); |
| 729 | + client.matchOrderBy = OrderBy.Date; |
| 730 | + expect(mockFindRequest).toHaveBeenCalledTimes(1); |
| 731 | + expect(mockCatRequest).toHaveBeenCalledTimes(0); |
| 732 | + |
| 733 | + mockFindRequest.mockReset(); |
| 734 | + mockCatRequest.mockReset(); |
| 735 | + client.clientId = "new"; |
| 736 | + expect(mockFindRequest).toHaveBeenCalledTimes(1); |
| 737 | + expect(mockCatRequest).toHaveBeenCalledTimes(1); |
| 738 | + |
| 739 | + mockFindRequest.mockReset(); |
| 740 | + mockCatRequest.mockReset(); |
| 741 | + client.dateFrom = { M: -2 }; |
| 742 | + expect(mockFindRequest).toHaveBeenCalledTimes(1); |
| 743 | + expect(mockCatRequest).toHaveBeenCalledTimes(1); |
| 744 | + |
| 745 | + mockFindRequest.mockReset(); |
| 746 | + mockCatRequest.mockReset(); |
| 747 | + client.dateTo = { M: -1 }; |
| 748 | + expect(mockFindRequest).toHaveBeenCalledTimes(1); |
| 749 | + expect(mockCatRequest).toHaveBeenCalledTimes(1); |
| 750 | + |
| 751 | + mockFindRequest.mockReset(); |
| 752 | + mockCatRequest.mockReset(); |
| 753 | + client.matchPageSize = 25; |
| 754 | + expect(mockFindRequest).toHaveBeenCalledTimes(1); |
| 755 | + expect(mockCatRequest).toHaveBeenCalledTimes(0); |
| 756 | + |
| 757 | + mockFindRequest.mockReset(); |
| 758 | + mockCatRequest.mockReset(); |
| 759 | + client.searchType = SearchType.Relevance; |
| 760 | + expect(mockFindRequest).toHaveBeenCalledTimes(1); |
| 761 | + expect(mockCatRequest).toHaveBeenCalledTimes(1); |
680 | 762 | }); |
681 | 763 | }); |
0 commit comments