Projet

Général

Profil

0001-wcs-ignore-case-spaces-in-tracking-code-34156.patch

Frédéric Péters, 19 juin 2019 09:59

Télécharger (2,08 ko)

Voir les différences:

Subject: [PATCH] wcs: ignore case/spaces in tracking code (#34156)

 combo/apps/wcs/views.py | 2 ++
 tests/test_wcs.py       | 8 ++++++++
 2 files changed, 10 insertions(+)
combo/apps/wcs/views.py
42 42

  
43 43
    @classmethod
44 44
    def search(self, code, wcs_site=None):
45
        code = code.strip().upper()
45 46
        if wcs_site:
46 47
            wcs_sites = [get_wcs_services().get(wcs_site)]
47 48
        else:
......
86 87
def tracking_code_search(request):
87 88
    hits = []
88 89
    query = request.GET.get('q') or ''
90
    query = query.strip().upper()
89 91
    if re.match(r'^[BCDFGHJKLMNPQRSTVWXZ]{8}$', query):
90 92
        url = TrackingCodeView.search(query)
91 93
        if url:
tests/test_wcs.py
636 636
    assert resp.status_code == 302
637 637
    assert resp.location == 'http://127.0.0.2:8999/code/CNPHNTFB/load'
638 638

  
639
    # space/case
640
    resp = app.get('/')
641
    resp.form['code'] = ' cnphntfb'
642
    resp = resp.form.submit()
643
    assert resp.status_code == 302
644
    assert resp.location == 'http://127.0.0.2:8999/code/CNPHNTFB/load'
645

  
639 646
    # lock cell to a single site
640 647
    cell.wcs_site = 'default'
641 648
    cell.save()
......
711 718
    assert len(app.get('/api/search/tracking-code/?q=BBCCDDFF').json.get('data')) == 0
712 719
    assert len(app.get('/api/search/tracking-code/?q=CNPHNTFB').json.get('data')) == 1
713 720
    assert len(app.get('/api/search/tracking-code/?q=BBCCDDFFG').json.get('data')) == 0
721
    assert len(app.get('/api/search/tracking-code/?q= cnphntfb').json.get('data')) == 1
714 722

  
715 723
@wcsctl_present
716 724
def test_wcs_search_engines(app):
717
-