diff --git a/bloclink/apps/bis/features/steps/submitBuilding.py b/bloclink/apps/bis/features/steps/submitBuilding.py index da733190b284d50769865ea1a5b263a30c54c86c..89de48bd607903a12d481eabecd40ee9efd75296 100644 --- a/bloclink/apps/bis/features/steps/submitBuilding.py +++ b/bloclink/apps/bis/features/steps/submitBuilding.py @@ -4,39 +4,20 @@ import json endpoint = 'http://0.0.0.0:5410/buildings/bis/submit-building/' -responses = [] -@given('a valid building address') -def step_impl(context): - global responses - responses = [] - for row in context.table: - response = requests.put(url=endpoint, json={'address': row['address']}, headers={'Content-Type': 'PUT'}) - responses.append(response) +@given('a building {address}') +def step_impl(context, address): + context.responses = [] + response = requests.put(url=endpoint, json={'address': address}, headers={'Content-Type': 'PUT'}) + context.responses.append(response) -@given('an invalid building address') -def step_impl(context): - global responses - responses = [] - for row in context.table: - response = requests.put(url=endpoint, json={'address': row['address']}, headers={'Content-Type': 'PUT'}) - responses.append(response) - -@given('a not covered building address') -def step_impl(context): - global responses - responses = [] - for row in context.table: - response = requests.put(url=endpoint, json={'address': row['address']}, headers={'Content-Type': 'PUT'}) - responses.append(response) - -@then('result page will include code "{code}"') +@then('result page will include code {code}') def step_impl(context, code): - for response in responses: + for response in context.responses: assert code == str(response.status_code) -@then('result page will include success as "{TrueOrFalse}"') -def step_impl(context, TrueOrFalse): - for response in responses: - assert TrueOrFalse == str(json.loads(response.text)['success']) +@then('result page will include success as {success}') +def step_impl(context, success): + for response in context.responses: + assert success == str(json.loads(response.text)['success']) diff --git a/bloclink/apps/bis/features/submitBuilding.feature b/bloclink/apps/bis/features/submitBuilding.feature new file mode 100644 index 0000000000000000000000000000000000000000..940a7efe2cb55b8e606d662d5853042446f4d64b --- /dev/null +++ b/bloclink/apps/bis/features/submitBuilding.feature @@ -0,0 +1,25 @@ +Feature: Building search + + Scenario Outline: Search for a building + Given a building
+ Then result page will include code + And result page will include success as + + Examples: Valid building + | address | code | success | + | 489 Hart Street, Brooklyn, New York 11221, United States | 200 | True | + | 81 Prospect Street, Staten Island, New York 10304, United States | 200 | True | + | Oakland California Temple, 4770 Lincoln Ave, Oakland, California 94602, United States | 200 | True | + + Examples: Invalid building + | address | code | success | + | Staten Island, New York, New York, United States | 400 | False | + | New York, New York, United States | 400 | False | + | New York, New York 10453, United States | 400 | False | + | East New York, Brooklyn, New York, New York 11208, United States | 400 | False | + + Examples: Uncovered building + | address | code | success | + | New Jersey Motor Vehicle Commission, 481 US Route 46 W, Wayne, New Jersey 07470, United States | 400 | False | + | 60 East Jamaica Avenue, Valley Stream, New York 11580, United States | 400 | False | + diff --git a/requirements-dev.txt b/requirements-dev.txt index 659afc7e0b583b3e7830906eb8e456c91ce8bc26..b2c91a709461a1944a09c035e33d2e200328ae9c 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -4,3 +4,4 @@ pydocstyle>=2.0.0 pylint>=1.7.0 pylint-django>=0.7.2 yapf>=0.16.1 +behave==1.2.6