From 7974a01675bd868b6d74be0afb1b71fea3e11096 Mon Sep 17 00:00:00 2001 From: nicain Date: Fri, 6 Jan 2023 13:20:07 -0800 Subject: [PATCH] docs(samples): Update previous month logic to avoid zero-index bug in webhook_prebuilt_telecom sample (#479) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix: Update previous month logic to avoid zer-index bug * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md Co-authored-by: Owl Bot --- .../samples/snippets/requirements.txt | 1 + .../samples/snippets/webhook_prebuilt_telecom.py | 11 +++++++---- .../snippets/webhook_prebuilt_telecom_test.py | 16 +--------------- 3 files changed, 9 insertions(+), 19 deletions(-) diff --git a/packages/google-cloud-dialogflow-cx/samples/snippets/requirements.txt b/packages/google-cloud-dialogflow-cx/samples/snippets/requirements.txt index 1b31c78a71ef..4f8bb0a929d1 100644 --- a/packages/google-cloud-dialogflow-cx/samples/snippets/requirements.txt +++ b/packages/google-cloud-dialogflow-cx/samples/snippets/requirements.txt @@ -1,2 +1,3 @@ google-cloud-dialogflow-cx==1.14.0 Flask==2.2.2 +python-dateutil==2.8.2 diff --git a/packages/google-cloud-dialogflow-cx/samples/snippets/webhook_prebuilt_telecom.py b/packages/google-cloud-dialogflow-cx/samples/snippets/webhook_prebuilt_telecom.py index c786ef1735f6..40b1124ad773 100644 --- a/packages/google-cloud-dialogflow-cx/samples/snippets/webhook_prebuilt_telecom.py +++ b/packages/google-cloud-dialogflow-cx/samples/snippets/webhook_prebuilt_telecom.py @@ -263,6 +263,7 @@ def cxPrebuiltAgentsTelecom(request): # based on today's date def get_date_details(bill_state): from datetime import date + from dateutil.relativedelta import relativedelta monthNames = [ "January", @@ -280,13 +281,15 @@ def get_date_details(bill_state): ] today = date.today() # index starts with 0 - first_month_name = monthNames[today.month - 1] + first_month_name = monthNames[(today.month - 1)] firstDay = today.replace(day=1) first_day_str = str(firstDay) - last_month_name = monthNames[today.month - 2] - last_month_first_day_str = str(today.replace(day=1, month=(today.month - 1))) - second_last_month_name = monthNames[today.month - 3] + last_month_name = monthNames[(today.month - 1) - 1] + last_month_first_day_str = str( + today.replace(day=1, month=(today - relativedelta(months=1)).month) + ) + second_last_month_name = monthNames[(today.month - 1) - 2] if bill_state == "current": return [first_month_name, first_day_str, last_month_name] else: diff --git a/packages/google-cloud-dialogflow-cx/samples/snippets/webhook_prebuilt_telecom_test.py b/packages/google-cloud-dialogflow-cx/samples/snippets/webhook_prebuilt_telecom_test.py index 4a627930187e..b7ac9e17dc81 100644 --- a/packages/google-cloud-dialogflow-cx/samples/snippets/webhook_prebuilt_telecom_test.py +++ b/packages/google-cloud-dialogflow-cx/samples/snippets/webhook_prebuilt_telecom_test.py @@ -45,7 +45,6 @@ def test_detect_customeranomaly_current(app): with app.test_request_context(json=request): res = cxPrebuiltAgentsTelecom(flask.request) - print(res) assert res["sessionInfo"]["parameters"]["anomaly_detect"] == "true" assert res["sessionInfo"]["parameters"]["total_bill"] == 1054.34 assert res["sessionInfo"]["parameters"]["first_month"] == str( @@ -73,12 +72,11 @@ def test_detect_customeranomaly_other(app): with app.test_request_context(json=request): res = cxPrebuiltAgentsTelecom(flask.request) - print(res) today = date.today() assert res["sessionInfo"]["parameters"]["anomaly_detect"] == "false" assert res["sessionInfo"]["parameters"]["total_bill"] == 1054.34 assert res["sessionInfo"]["parameters"]["first_month"] == str( - today.replace(day=1, month=(today.month - 1)) + today.replace(day=1, month=1 + ((today.month - 2) % 12)) ) @@ -98,7 +96,6 @@ def test_validate_phoneline(app): with app.test_request_context(json=request): res = cxPrebuiltAgentsTelecom(flask.request) - print(res) assert res["sessionInfo"]["parameters"]["phone_line_verified"] == "true" @@ -118,7 +115,6 @@ def test_invalid_phoneline(app): with app.test_request_context(json=request): res = cxPrebuiltAgentsTelecom(flask.request) - print(res) assert res["sessionInfo"]["parameters"]["phone_line_verified"] == "false" @@ -138,7 +134,6 @@ def test_invalid_phoneline2(app): with app.test_request_context(json=request): res = cxPrebuiltAgentsTelecom(flask.request) - print(res) assert res["sessionInfo"]["parameters"]["domestic_coverage"] == "true" @@ -156,7 +151,6 @@ def test_cruiseplan_coverage(app): with app.test_request_context(json=request): res = cxPrebuiltAgentsTelecom(flask.request) - print(res) assert res["sessionInfo"]["parameters"]["port_is_covered"] == "true" @@ -174,7 +168,6 @@ def test_cruiseplan_notcovered(app): with app.test_request_context(json=request): res = cxPrebuiltAgentsTelecom(flask.request) - print(res) assert res["sessionInfo"]["parameters"]["port_is_covered"] == "false" @@ -192,7 +185,6 @@ def test_international_coverage1(app): with app.test_request_context(json=request): res = cxPrebuiltAgentsTelecom(flask.request) - print(res) assert res["sessionInfo"]["parameters"]["coverage"] == "both" @@ -210,7 +202,6 @@ def test_international_coverage2(app): with app.test_request_context(json=request): res = cxPrebuiltAgentsTelecom(flask.request) - print(res) assert res["sessionInfo"]["parameters"]["coverage"] == "monthly_only" @@ -228,7 +219,6 @@ def test_international_coverage3(app): with app.test_request_context(json=request): res = cxPrebuiltAgentsTelecom(flask.request) - print(res) assert res["sessionInfo"]["parameters"]["coverage"] == "neither" @@ -246,7 +236,6 @@ def test_cheapest_plan1(app): with app.test_request_context(json=request): res = cxPrebuiltAgentsTelecom(flask.request) - print(res) assert res["sessionInfo"]["parameters"]["monthly_cost"] == 70 assert res["sessionInfo"]["parameters"]["daily_cost"] == 400 assert res["sessionInfo"]["parameters"]["suggested_plan"] == "monthly" @@ -266,7 +255,6 @@ def test_cheapest_plan2(app): with app.test_request_context(json=request): res = cxPrebuiltAgentsTelecom(flask.request) - print(res) assert res["sessionInfo"]["parameters"]["monthly_cost"] == 70 assert res["sessionInfo"]["parameters"]["daily_cost"] == 200 assert res["sessionInfo"]["parameters"]["suggested_plan"] == "monthly" @@ -286,7 +274,6 @@ def test_cheapest_plan3(app): with app.test_request_context(json=request): res = cxPrebuiltAgentsTelecom(flask.request) - print(res) assert res["sessionInfo"]["parameters"]["monthly_cost"] == 70 assert res["sessionInfo"]["parameters"]["daily_cost"] == 50 assert res["sessionInfo"]["parameters"]["suggested_plan"] == "daily" @@ -306,7 +293,6 @@ def test_cheapest_plan4(app): with app.test_request_context(json=request): res = cxPrebuiltAgentsTelecom(flask.request) - print(res) assert res["sessionInfo"]["parameters"]["suggested_plan"] == "null"