From ca5b6fd7ec3e6b5928938528785902a7e0e37ac9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Krzysztof=20=C5=BBuraw?= <9116238+krzysztofzuraw@users.noreply.github.com> Date: Thu, 19 Sep 2024 10:47:41 +0200 Subject: [PATCH] Fix AvaTax Bruno collection issue with variables (#1578) --- .../checkout/01-create-storefront-user.bru | 2 +- .../checkout/02-create-storefront-token.bru | 4 ++-- apps/avatax/bruno/collection.bru | 19 +++++++++++++++++++ 3 files changed, 22 insertions(+), 3 deletions(-) create mode 100644 apps/avatax/bruno/collection.bru diff --git a/apps/avatax/bruno/checkout/01-create-storefront-user.bru b/apps/avatax/bruno/checkout/01-create-storefront-user.bru index 5f1af686e..e43c37fe0 100644 --- a/apps/avatax/bruno/checkout/01-create-storefront-user.bru +++ b/apps/avatax/bruno/checkout/01-create-storefront-user.bru @@ -48,6 +48,6 @@ body:graphql:vars { "channelSlug": "{{channelSlug}}", "email": "{{storefrontUserEmail}}", "password": "{{storefrontUserPassword}}", - "firstName": "{{storefrontUserFirstName}}" + "firstName": "{{storefrontUserName}}" } } diff --git a/apps/avatax/bruno/checkout/02-create-storefront-token.bru b/apps/avatax/bruno/checkout/02-create-storefront-token.bru index c79f3c104..2c5aa1854 100644 --- a/apps/avatax/bruno/checkout/02-create-storefront-token.bru +++ b/apps/avatax/bruno/checkout/02-create-storefront-token.bru @@ -29,8 +29,8 @@ body:graphql { body:graphql:vars { { - "email": "{{storefrontUserEmail}}", - "password": "{{storefrontUserPassword}}" + "email": "{{storefrontUserEmail}}", + "password": "{{storefrontUserPassword}}" } } diff --git a/apps/avatax/bruno/collection.bru b/apps/avatax/bruno/collection.bru new file mode 100644 index 000000000..7c897c354 --- /dev/null +++ b/apps/avatax/bruno/collection.bru @@ -0,0 +1,19 @@ +script:pre-request { + // Remove after https://github.com/usebruno/bruno/issues/2960 in done + function resolveTemplateVariables(string) { + const VARIABLE_NAME_REGEX = /{{([A-Za-z_]\w+)}}/g; + + return string.replace( + VARIABLE_NAME_REGEX, + (_, key) => bru.getVar(key) || bru.getEnvVar(key) + ); + } + + const body = req.getBody(); + + if (!body.variables) { + return; + } + + body.variables = resolveTemplateVariables(body.variables); +}