From cd905fdc26f43cbf13c7205c2b5ba4807de7bc64 Mon Sep 17 00:00:00 2001 From: "Hebert F. Barros" Date: Mon, 1 Jul 2024 13:49:08 -0300 Subject: [PATCH] test: added more tests to ctx (#1) --- test/unit_tests/ctx_test.gleam | 54 ++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/test/unit_tests/ctx_test.gleam b/test/unit_tests/ctx_test.gleam index a6aa8fa..bece7b8 100644 --- a/test/unit_tests/ctx_test.gleam +++ b/test/unit_tests/ctx_test.gleam @@ -28,3 +28,57 @@ pub fn drill_deep_test() { |> should.be_ok |> should.equal(ctx.Str(expected_string)) } + +pub fn get_property_success_test() { + let ctx = + ctx.Dict([ + ctx.Prop("name", ctx.Str("Alice")), + ctx.Prop("age", ctx.Int(30)), + ctx.Prop("height", ctx.Float(5.9)), + ]) + ctx_utils.get_property(0, ["name"], ctx) + |> should.be_ok + |> should.equal("Alice") + + ctx_utils.get_property(0, ["age"], ctx) + |> should.be_ok + |> should.equal("30") + + ctx_utils.get_property(0, ["height"], ctx) + |> should.be_ok + |> should.equal("5.9") +} + +pub fn get_property_error_test() { + let ctx = ctx.Dict([ctx.Prop("name", ctx.Str("Alice"))]) + ctx_utils.get_property(0, ["unknown"], ctx) + |> should.be_error + + ctx_utils.get_property(0, ["name", "subprop"], ctx) + |> should.be_error +} + +pub fn get_list_success_test() { + let ctx = + ctx.Dict([ctx.Prop("items", ctx.List([ctx.Str("item1"), ctx.Str("item2")]))]) + ctx_utils.get_list(0, ["items"], ctx) + |> should.be_ok +} + +pub fn get_list_error_test() { + let ctx = ctx.Dict([ctx.Prop("name", ctx.Str("Alice"))]) + ctx_utils.get_list(0, ["name"], ctx) + |> should.be_error +} + +pub fn get_bool_success_test() { + let ctx = ctx.Dict([ctx.Prop("active", ctx.Bool(True))]) + ctx_utils.get_bool(0, ["active"], ctx) + |> should.be_ok +} + +pub fn get_bool_error_test() { + let ctx = ctx.Dict([ctx.Prop("name", ctx.Str("Alice"))]) + ctx_utils.get_bool(0, ["name"], ctx) + |> should.be_error +}