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

Commit f8fde60

Browse files
committed
fix: Update previous month logic to avoid zer-index bug
1 parent af7e0a7 commit f8fde60

File tree

2 files changed

+11
-19
lines changed

2 files changed

+11
-19
lines changed

samples/snippets/webhook_prebuilt_telecom.py

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -279,14 +279,20 @@ def get_date_details(bill_state):
279279
"December",
280280
]
281281
today = date.today()
282+
282283
# index starts with 0
283-
first_month_name = monthNames[today.month - 1]
284+
curr_month_number = today.month
285+
last_month_number = curr_month_number - 1
286+
if last_month_number <= 0:
287+
last_month_number = 12 - last_month_number
288+
curr_month_name_idx = curr_month_number - 1
289+
first_month_name = monthNames[curr_month_name_idx]
284290
firstDay = today.replace(day=1)
285291
first_day_str = str(firstDay)
286292

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]
293+
last_month_first_day_str = str(today.replace(day=1, month=last_month_number))
294+
last_month_name = monthNames[curr_month_name_idx-1]
295+
second_last_month_name = monthNames[curr_month_name_idx-2]
290296
if bill_state == "current":
291297
return [first_month_name, first_day_str, last_month_name]
292298
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)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy