Skip to content
This repository was archived by the owner on Jan 6, 2024. It is now read-only.

Commit 38c188a

Browse files
docs(samples): Update previous month logic to avoid zero-index bug in webhook_prebuilt_telecom sample (#479)
* 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 <gcf-owl-bot[bot]@users.noreply.github.com>
1 parent af7e0a7 commit 38c188a

File tree

3 files changed

+9
-19
lines changed

3 files changed

+9
-19
lines changed

samples/snippets/requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
google-cloud-dialogflow-cx==1.14.0
22
Flask==2.2.2
3+
python-dateutil==2.8.2

samples/snippets/webhook_prebuilt_telecom.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -263,6 +263,7 @@ def cxPrebuiltAgentsTelecom(request):
263263
# based on today's date
264264
def get_date_details(bill_state):
265265
from datetime import date
266+
from dateutil.relativedelta import relativedelta
266267

267268
monthNames = [
268269
"January",
@@ -280,13 +281,15 @@ def get_date_details(bill_state):
280281
]
281282
today = date.today()
282283
# index starts with 0
283-
first_month_name = monthNames[today.month - 1]
284+
first_month_name = monthNames[(today.month - 1)]
284285
firstDay = today.replace(day=1)
285286
first_day_str = str(firstDay)
286287

287-
last_month_name = monthNames[today.month - 2]
288-
last_month_first_day_str = str(today.replace(day=1, month=(today.month - 1)))
289-
second_last_month_name = monthNames[today.month - 3]
288+
last_month_name = monthNames[(today.month - 1) - 1]
289+
last_month_first_day_str = str(
290+
today.replace(day=1, month=(today - relativedelta(months=1)).month)
291+
)
292+
second_last_month_name = monthNames[(today.month - 1) - 2]
290293
if bill_state == "current":
291294
return [first_month_name, first_day_str, last_month_name]
292295
else:

samples/snippets/webhook_prebuilt_telecom_test.py

Lines changed: 1 addition & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ def test_detect_customeranomaly_current(app):
4545

4646
with app.test_request_context(json=request):
4747
res = cxPrebuiltAgentsTelecom(flask.request)
48-
print(res)
4948
assert res["sessionInfo"]["parameters"]["anomaly_detect"] == "true"
5049
assert res["sessionInfo"]["parameters"]["total_bill"] == 1054.34
5150
assert res["sessionInfo"]["parameters"]["first_month"] == str(
@@ -73,12 +72,11 @@ def test_detect_customeranomaly_other(app):
7372

7473
with app.test_request_context(json=request):
7574
res = cxPrebuiltAgentsTelecom(flask.request)
76-
print(res)
7775
today = date.today()
7876
assert res["sessionInfo"]["parameters"]["anomaly_detect"] == "false"
7977
assert res["sessionInfo"]["parameters"]["total_bill"] == 1054.34
8078
assert res["sessionInfo"]["parameters"]["first_month"] == str(
81-
today.replace(day=1, month=(today.month - 1))
79+
today.replace(day=1, month=1 + ((today.month - 2) % 12))
8280
)
8381

8482

@@ -98,7 +96,6 @@ def test_validate_phoneline(app):
9896

9997
with app.test_request_context(json=request):
10098
res = cxPrebuiltAgentsTelecom(flask.request)
101-
print(res)
10299
assert res["sessionInfo"]["parameters"]["phone_line_verified"] == "true"
103100

104101

@@ -118,7 +115,6 @@ def test_invalid_phoneline(app):
118115

119116
with app.test_request_context(json=request):
120117
res = cxPrebuiltAgentsTelecom(flask.request)
121-
print(res)
122118
assert res["sessionInfo"]["parameters"]["phone_line_verified"] == "false"
123119

124120

@@ -138,7 +134,6 @@ def test_invalid_phoneline2(app):
138134

139135
with app.test_request_context(json=request):
140136
res = cxPrebuiltAgentsTelecom(flask.request)
141-
print(res)
142137
assert res["sessionInfo"]["parameters"]["domestic_coverage"] == "true"
143138

144139

@@ -156,7 +151,6 @@ def test_cruiseplan_coverage(app):
156151

157152
with app.test_request_context(json=request):
158153
res = cxPrebuiltAgentsTelecom(flask.request)
159-
print(res)
160154
assert res["sessionInfo"]["parameters"]["port_is_covered"] == "true"
161155

162156

@@ -174,7 +168,6 @@ def test_cruiseplan_notcovered(app):
174168

175169
with app.test_request_context(json=request):
176170
res = cxPrebuiltAgentsTelecom(flask.request)
177-
print(res)
178171
assert res["sessionInfo"]["parameters"]["port_is_covered"] == "false"
179172

180173

@@ -192,7 +185,6 @@ def test_international_coverage1(app):
192185

193186
with app.test_request_context(json=request):
194187
res = cxPrebuiltAgentsTelecom(flask.request)
195-
print(res)
196188
assert res["sessionInfo"]["parameters"]["coverage"] == "both"
197189

198190

@@ -210,7 +202,6 @@ def test_international_coverage2(app):
210202

211203
with app.test_request_context(json=request):
212204
res = cxPrebuiltAgentsTelecom(flask.request)
213-
print(res)
214205
assert res["sessionInfo"]["parameters"]["coverage"] == "monthly_only"
215206

216207

@@ -228,7 +219,6 @@ def test_international_coverage3(app):
228219

229220
with app.test_request_context(json=request):
230221
res = cxPrebuiltAgentsTelecom(flask.request)
231-
print(res)
232222
assert res["sessionInfo"]["parameters"]["coverage"] == "neither"
233223

234224

@@ -246,7 +236,6 @@ def test_cheapest_plan1(app):
246236

247237
with app.test_request_context(json=request):
248238
res = cxPrebuiltAgentsTelecom(flask.request)
249-
print(res)
250239
assert res["sessionInfo"]["parameters"]["monthly_cost"] == 70
251240
assert res["sessionInfo"]["parameters"]["daily_cost"] == 400
252241
assert res["sessionInfo"]["parameters"]["suggested_plan"] == "monthly"
@@ -266,7 +255,6 @@ def test_cheapest_plan2(app):
266255

267256
with app.test_request_context(json=request):
268257
res = cxPrebuiltAgentsTelecom(flask.request)
269-
print(res)
270258
assert res["sessionInfo"]["parameters"]["monthly_cost"] == 70
271259
assert res["sessionInfo"]["parameters"]["daily_cost"] == 200
272260
assert res["sessionInfo"]["parameters"]["suggested_plan"] == "monthly"
@@ -286,7 +274,6 @@ def test_cheapest_plan3(app):
286274

287275
with app.test_request_context(json=request):
288276
res = cxPrebuiltAgentsTelecom(flask.request)
289-
print(res)
290277
assert res["sessionInfo"]["parameters"]["monthly_cost"] == 70
291278
assert res["sessionInfo"]["parameters"]["daily_cost"] == 50
292279
assert res["sessionInfo"]["parameters"]["suggested_plan"] == "daily"
@@ -306,7 +293,6 @@ def test_cheapest_plan4(app):
306293

307294
with app.test_request_context(json=request):
308295
res = cxPrebuiltAgentsTelecom(flask.request)
309-
print(res)
310296
assert res["sessionInfo"]["parameters"]["suggested_plan"] == "null"
311297

312298

0 commit comments

Comments
 (0)