forked from cadence/breezewiki
		
	Fix failing test after search was refactored
This commit is contained in:
		
							parent
							
								
									b8a6c5198d
								
							
						
					
					
						commit
						b02e2a4053
					
				
					 3 changed files with 12 additions and 10 deletions
				
			
		|  | @ -25,8 +25,8 @@ | ||||||
|  page-search) |  page-search) | ||||||
| 
 | 
 | ||||||
| (define search-providers | (define search-providers | ||||||
|   (hash "fandom" generate-results-content-fandom |   (hash "fandom" search-fandom | ||||||
|         "solr" generate-results-content-solr)) |         "solr" search-solr)) | ||||||
| 
 | 
 | ||||||
| ;; this takes the info we gathered from fandom and makes the big fat x-expression page | ;; this takes the info we gathered from fandom and makes the big fat x-expression page | ||||||
| (define (generate-results-page req source-url wikiname query results-content #:siteinfo [siteinfo #f]) | (define (generate-results-page req source-url wikiname query results-content #:siteinfo [siteinfo #f]) | ||||||
|  |  | ||||||
|  | @ -8,15 +8,15 @@ | ||||||
|          "../lib/xexpr-utils.rkt") |          "../lib/xexpr-utils.rkt") | ||||||
| 
 | 
 | ||||||
| (provide | (provide | ||||||
|  generate-results-content-fandom) |  search-fandom) | ||||||
| 
 | 
 | ||||||
| (module+ test | (module+ test | ||||||
|   (require rackunit |   (require rackunit | ||||||
|            "test-utils.rkt") |            "test-utils.rkt") | ||||||
|   (define search-json-data |   (define search-results-data | ||||||
|     '#hasheq((batchcomplete . #t) (query . #hasheq((search . (#hasheq((ns . 0) (pageid . 219) (size . 1482) (snippet . "") (timestamp . "2022-08-21T08:54:23Z") (title . "Gacha Capsule") (wordcount . 214)) #hasheq((ns . 0) (pageid . 201) (size . 1198) (snippet . "") (timestamp . "2022-07-11T17:52:47Z") (title . "Badges") (wordcount . 181))))))))) |     '(#hasheq((ns . 0) (pageid . 219) (size . 1482) (snippet . "") (timestamp . "2022-08-21T08:54:23Z") (title . "Gacha Capsule") (wordcount . 214)) #hasheq((ns . 0) (pageid . 201) (size . 1198) (snippet . "") (timestamp . "2022-07-11T17:52:47Z") (title . "Badges") (wordcount . 181))))) | ||||||
| 
 | 
 | ||||||
| (define (generate-results-content-fandom wikiname query params) | (define (search-fandom wikiname query params) | ||||||
|   ;; constructing the URL where I want to get fandom data from... |   ;; constructing the URL where I want to get fandom data from... | ||||||
|   (define origin (format "https://~a.fandom.com" wikiname)) |   (define origin (format "https://~a.fandom.com" wikiname)) | ||||||
|   ;; the dest-URL will look something like https://minecraft.fandom.com/api.php?action=query&list=search&srsearch=Spawner&formatversion=2&format=json |   ;; the dest-URL will look something like https://minecraft.fandom.com/api.php?action=query&list=search&srsearch=Spawner&formatversion=2&format=json | ||||||
|  | @ -33,8 +33,10 @@ | ||||||
|   (define res (easy:get dest-url #:timeouts timeouts)) |   (define res (easy:get dest-url #:timeouts timeouts)) | ||||||
|   (define json (easy:response-json res)) |   (define json (easy:response-json res)) | ||||||
|   (define search-results (jp "/query/search" json)) |   (define search-results (jp "/query/search" json)) | ||||||
|  |   (generate-results-content-fandom wikiname query search-results)) | ||||||
| 
 | 
 | ||||||
|   ;; generate content for display in the wiki page layout | ;;; generate content for display in the wiki page layout | ||||||
|  | (define (generate-results-content-fandom wikiname query search-results) | ||||||
|   `(div (@ (class "mw-parser-output")) |   `(div (@ (class "mw-parser-output")) | ||||||
|         ;; header before the search results showing how many we found |         ;; header before the search results showing how many we found | ||||||
|         (p ,(format "~a results found for " (length search-results)) |         (p ,(format "~a results found for " (length search-results)) | ||||||
|  | @ -60,4 +62,4 @@ | ||||||
| (module+ test | (module+ test | ||||||
|   (parameterize ([(config-parameter 'feature_offline::only) "false"]) |   (parameterize ([(config-parameter 'feature_offline::only) "false"]) | ||||||
|     (check-not-false ((query-selector (attribute-selector 'href "/test/wiki/Gacha_Capsule") |     (check-not-false ((query-selector (attribute-selector 'href "/test/wiki/Gacha_Capsule") | ||||||
|                                       (generate-results-content-fandom test-req "" "test" "Gacha" search-json-data)))))) |                                       (generate-results-content-fandom "test" "Gacha" search-results-data)))))) | ||||||
|  |  | ||||||
|  | @ -9,11 +9,11 @@ | ||||||
|          "../lib/xexpr-utils.rkt") |          "../lib/xexpr-utils.rkt") | ||||||
| 
 | 
 | ||||||
| (provide | (provide | ||||||
|  generate-results-content-solr) |  search-solr) | ||||||
| 
 | 
 | ||||||
| (struct result^ (hl-title hl-body kb words page-path) #:transparent) | (struct result^ (hl-title hl-body kb words page-path) #:transparent) | ||||||
| 
 | 
 | ||||||
| (define (generate-results-content-solr wikiname query params) | (define (search-solr wikiname query params) | ||||||
|   ;; grab things from params that would modify the search |   ;; grab things from params that would modify the search | ||||||
|   (define op (if (equal? (dict-ref params 'op #f) "or") '("or" . "OR") '("and" . "AND"))) |   (define op (if (equal? (dict-ref params 'op #f) "or") '("or" . "OR") '("and" . "AND"))) | ||||||
|   (define sort (if (equal? (dict-ref params 'sort #f) "len") '("len" . "len desc") '("relevance" . "score desc"))) |   (define sort (if (equal? (dict-ref params 'sort #f) "len") '("len" . "len desc") '("relevance" . "score desc"))) | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue