diff --git a/packages/bruno-app/src/components/RequestPane/Assertions/AssertionOperator/index.js b/packages/bruno-app/src/components/RequestPane/Assertions/AssertionOperator/index.js index 068747846..0f246db7c 100644 --- a/packages/bruno-app/src/components/RequestPane/Assertions/AssertionOperator/index.js +++ b/packages/bruno-app/src/components/RequestPane/Assertions/AssertionOperator/index.js @@ -32,6 +32,7 @@ import lightTheme from 'themes/light'; * isNumber : is number * isString : is string * isBoolean : is boolean + * isArray : is array */ const AssertionOperator = ({ operator, onChange }) => { @@ -61,7 +62,8 @@ const AssertionOperator = ({ operator, onChange }) => { 'isJson', 'isNumber', 'isString', - 'isBoolean' + 'isBoolean', + 'isArray' ]; const handleChange = (e) => { diff --git a/packages/bruno-app/src/components/RequestPane/Assertions/AssertionRow/index.js b/packages/bruno-app/src/components/RequestPane/Assertions/AssertionRow/index.js index 5b27061e9..375fa0ec4 100644 --- a/packages/bruno-app/src/components/RequestPane/Assertions/AssertionRow/index.js +++ b/packages/bruno-app/src/components/RequestPane/Assertions/AssertionRow/index.js @@ -33,6 +33,7 @@ import { useTheme } from 'providers/Theme'; * isNumber : is number * isString : is string * isBoolean : is boolean + * isArray : is array */ const parseAssertionOperator = (str = '') => { if (!str || typeof str !== 'string' || !str.length) { @@ -68,7 +69,8 @@ const parseAssertionOperator = (str = '') => { 'isJson', 'isNumber', 'isString', - 'isBoolean' + 'isBoolean', + 'isArray' ]; const unaryOperators = [ @@ -81,7 +83,8 @@ const parseAssertionOperator = (str = '') => { 'isJson', 'isNumber', 'isString', - 'isBoolean' + 'isBoolean', + 'isArray' ]; const [operator, ...rest] = str.trim().split(' '); @@ -118,7 +121,8 @@ const isUnaryOperator = (operator) => { 'isJson', 'isNumber', 'isString', - 'isBoolean' + 'isBoolean', + 'isArray' ]; return unaryOperators.includes(operator); diff --git a/packages/bruno-js/src/runtime/assert-runtime.js b/packages/bruno-js/src/runtime/assert-runtime.js index 36fd7c9f2..dae68fc1a 100644 --- a/packages/bruno-js/src/runtime/assert-runtime.js +++ b/packages/bruno-js/src/runtime/assert-runtime.js @@ -66,6 +66,7 @@ chai.use(function (chai, utils) { * isNumber : is number * isString : is string * isBoolean : is boolean + * isArray : is array */ const parseAssertionOperator = (str = '') => { if (!str || typeof str !== 'string' || !str.length) { @@ -101,7 +102,8 @@ const parseAssertionOperator = (str = '') => { 'isJson', 'isNumber', 'isString', - 'isBoolean' + 'isBoolean', + 'isArray' ]; const unaryOperators = [ @@ -114,7 +116,8 @@ const parseAssertionOperator = (str = '') => { 'isJson', 'isNumber', 'isString', - 'isBoolean' + 'isBoolean', + 'isArray' ]; const [operator, ...rest] = str.trim().split(' '); @@ -151,7 +154,8 @@ const isUnaryOperator = (operator) => { 'isJson', 'isNumber', 'isString', - 'isBoolean' + 'isBoolean', + 'isArray' ]; return unaryOperators.includes(operator); @@ -313,6 +317,9 @@ class AssertRuntime { case 'isBoolean': expect(lhs).to.be.a('boolean'); break; + case 'isArray': + expect(lhs).to.be.a('array'); + break; default: expect(lhs).to.equal(rhs); break;