WEBVTT

00:00:00.003 --> 00:00:00.861
Open: /admin/vouchers/new

00:00:00.861 --> 00:00:01.326
Enter the field value: locator("#code")

00:00:01.326 --> 00:00:01.395
Enter the field value: locator("#valueCents")

00:00:01.395 --> 00:00:01.445
Enter the field value: locator("#usageLimit")

00:00:01.419 --> 00:00:01.469
Verify: getByText(/^(before|sebelum|优惠前)$/i)

00:00:01.434 --> 00:00:01.484
Verify: getByText(/^(after|setelah|优惠后)$/i)

00:00:01.440 --> 00:00:01.490
Verify: getByText(/^(you save|hemat|节省金额)$/i)

00:00:01.449 --> 00:00:01.578
Select: locator("#type")

00:00:01.578 --> 00:00:02.172
Select: getByRole("option", name: /percentage|persentase/i)

00:00:02.172 --> 00:00:02.222
Enter the field value: locator("#valueCents")

00:00:02.217 --> 00:00:02.267
Enter the field value: locator("#maxDiscountCents")

00:00:02.265 --> 00:00:02.315
Verify: getByText(/75%/)

00:00:02.280 --> 00:00:02.330
Verify: getByText(/10\.000/)

00:00:02.286 --> 00:00:02.336
Verify: getByText(/5\.000/)

00:00:02.295 --> 00:00:02.421
Select: locator("#type")

00:00:02.421 --> 00:00:03.216
Select: getByRole("option", name: /fixed amount|nominal tetap/i)

00:00:03.216 --> 00:00:03.266
Enter the field value: locator("#valueCents")

00:00:03.255 --> 00:00:03.305
Enter the field value: locator("#usageLimit")

00:00:03.276 --> 00:00:03.477
Select: getByRole("button", name: /create voucher|buat voucher/i)

00:00:03.477 --> 00:00:03.807
Verify: getByText("E2E[redacted number]")

00:00:03.807 --> 00:00:04.239
Open: /admin/vouchers/8

00:00:04.239 --> 00:00:04.668
Verify: getByText(/no redemptions yet|belum ada penukaran|暂无核销记录/i)

00:00:04.668 --> 00:00:04.824
Enter the field value: locator("#email")

00:00:04.824 --> 00:00:05.190
Select: locator("#edit-expiresAt")

00:00:05.190 --> 00:00:05.817
Select: getByRole("button", name: /October 7(?:st|nd|rd|th)?,? 2026/i)

00:00:05.817 --> 00:00:06.084
Select: getByRole("button", name: /save changes|simpan perubahan/i)

00:00:06.084 --> 00:00:06.420
Verify: getByRole("alert")

00:00:06.420 --> 00:00:06.672
Select: getByRole("button", name: /assignment expires/i)

00:00:06.672 --> 00:00:07.467
Select: getByRole("button", name: /October 7(?:st|nd|rd|th)?,? 2026/i)

00:00:07.467 --> 00:00:07.524
Enter the field value: locator("#assignmentUsageLimit")

00:00:07.524 --> 00:00:07.668
Select: getByRole("button", name: /assign voucher|tugaskan voucher/i)

00:00:07.668 --> 00:00:08.070
Verify: getByRole("alert")

00:00:08.070 --> 00:00:08.120
Verify: getByText("Demo Consumer")

00:00:08.079 --> 00:00:08.129
Enter the field value: locator("#edit-code")

00:00:08.106 --> 00:00:08.232
Select: getByRole("button", name: /save changes|simpan perubahan/i)

00:00:08.232 --> 00:00:08.559
Verify: getByRole("alert")

00:00:08.559 --> 00:00:08.817
Open: /admin/vouchers

00:00:08.817 --> 00:00:09.156
Enter the field value: getByRole("textbox").first()

00:00:09.156 --> 00:00:09.288
Select: getByRole("button", name: /filter|saring/i)

00:00:09.288 --> 00:00:09.588
Verify: /search=/

00:00:09.588 --> 00:00:09.638
Verify: getByRole("row").filter({ hasText: "E2E[redacted number]UPDATE" })

00:00:09.600 --> 00:00:09.750
Select: getByRole("combobox")

00:00:09.750 --> 00:00:10.341
Select: getByRole("option", name: /^(active|aktif|启用)$/i)

00:00:10.341 --> 00:00:10.440
Select: getByRole("button", name: /filter|saring/i)

00:00:10.440 --> 00:00:10.746
Verify: /status=active/

00:00:10.746 --> 00:00:10.796
Verify: getByRole("row").filter({ hasText: "E2E[redacted number]UPDATE" })

00:00:10.755 --> 00:00:10.805
Verify: getByRole("link", name: /export|ekspor/i)

00:00:10.776 --> 00:00:13.840
Select: getByRole("link", name: /export|ekspor/i)
