Skip to content

Commit 8406dc3

Browse files
committed
Add UDT result tests
Add tests for converting CQL values to JavaScript values
1 parent ab49bf1 commit 8406dc3

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

src/tests/result_tests.rs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,23 @@ pub fn tests_get_cql_wrapper_set() -> CqlValueWrapper {
119119
CqlValueWrapper { inner: element }
120120
}
121121

122+
#[napi]
123+
/// Test function returning sample CqlValueWrapper with UserDefinedType type
124+
pub fn tests_get_cql_wrapper_udt() -> CqlValueWrapper {
125+
let element = CqlValue::UserDefinedType {
126+
keyspace: String::from("keyspace"),
127+
name: String::from("name"),
128+
fields: vec![
129+
(
130+
String::from("field1"),
131+
Some(CqlValue::Text("some text".to_owned())),
132+
),
133+
(String::from("field2"), Some(CqlValue::Int(1))),
134+
],
135+
};
136+
CqlValueWrapper { inner: element }
137+
}
138+
122139
#[napi]
123140
/// Test function returning sample CqlValueWrapper with Map type
124141
pub fn tests_get_cql_wrapper_map() -> CqlValueWrapper {

test/unit/cql-value-wrapper-tests.js

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,22 @@ describe("Cql value wrapper", function () {
181181
assert.deepEqual(value, ["some text", Number(1)]);
182182
});
183183

184+
it("should get udt type correctly from napi", function () {
185+
let element = rust.testsGetCqlWrapperUdt();
186+
let type = element.getType();
187+
assert.strictEqual(type, rust.CqlType.UserDefinedType);
188+
let value = getCqlObject(element);
189+
/* Corresponding value:
190+
let element = CqlValue::UserDefinedType(
191+
vec![
192+
CqlValue::Text("some text".to_owned()),
193+
CqlValue::Int(1),
194+
],
195+
vec!["field1".to_owned(), "field2".to_owned()],
196+
); */
197+
assert.deepEqual(value, { field1: "some text", field2: 1 });
198+
});
199+
184200
it("should get map type correctly from napi", function () {
185201
let element = rust.testsGetCqlWrapperMap();
186202
let type = element.getType();

0 commit comments

Comments
 (0)