wcs: ignore case/spaces in tracking code (#34156)
This commit is contained in:
parent
23f70f720b
commit
33b4197ea5
|
@ -42,6 +42,7 @@ class TrackingCodeView(View):
|
|||
|
||||
@classmethod
|
||||
def search(self, code, wcs_site=None):
|
||||
code = code.strip().upper()
|
||||
if wcs_site:
|
||||
wcs_sites = [get_wcs_services().get(wcs_site)]
|
||||
else:
|
||||
|
@ -86,6 +87,7 @@ class TrackingCodeView(View):
|
|||
def tracking_code_search(request):
|
||||
hits = []
|
||||
query = request.GET.get('q') or ''
|
||||
query = query.strip().upper()
|
||||
if re.match(r'^[BCDFGHJKLMNPQRSTVWXZ]{8}$', query):
|
||||
url = TrackingCodeView.search(query)
|
||||
if url:
|
||||
|
|
|
@ -636,6 +636,13 @@ def test_tracking_code_cell(app):
|
|||
assert resp.status_code == 302
|
||||
assert resp.location == 'http://127.0.0.2:8999/code/CNPHNTFB/load'
|
||||
|
||||
# space/case
|
||||
resp = app.get('/')
|
||||
resp.form['code'] = ' cnphntfb'
|
||||
resp = resp.form.submit()
|
||||
assert resp.status_code == 302
|
||||
assert resp.location == 'http://127.0.0.2:8999/code/CNPHNTFB/load'
|
||||
|
||||
# lock cell to a single site
|
||||
cell.wcs_site = 'default'
|
||||
cell.save()
|
||||
|
@ -711,6 +718,7 @@ def test_tracking_code_search(app):
|
|||
assert len(app.get('/api/search/tracking-code/?q=BBCCDDFF').json.get('data')) == 0
|
||||
assert len(app.get('/api/search/tracking-code/?q=CNPHNTFB').json.get('data')) == 1
|
||||
assert len(app.get('/api/search/tracking-code/?q=BBCCDDFFG').json.get('data')) == 0
|
||||
assert len(app.get('/api/search/tracking-code/?q= cnphntfb').json.get('data')) == 1
|
||||
|
||||
@wcsctl_present
|
||||
def test_wcs_search_engines(app):
|
||||
|
|
Loading…
Reference in New Issue