diff options
| author | Bogdan Nikolov <84232456+0xr3ngar@users.noreply.github.com> | 2026-02-19 20:30:08 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-02-19 20:30:08 +0100 |
| commit | 725bf38ffc08cb8b537cbff322ef2d889b197dad (patch) | |
| tree | 2fa53c6b40463b8a18d9e175617b9b413a844e70 /lua/99/test/request_spec.lua | |
| parent | 6d219f47aa29cafb1ec39c41d4dd0a4875a74506 (diff) | |
| parent | d34e4dcbcc1f95d8f31f851baad18da12c59e7df (diff) | |
| download | a4-725bf38ffc08cb8b537cbff322ef2d889b197dad.tar.xz a4-725bf38ffc08cb8b537cbff322ef2d889b197dad.zip | |
Merge branch 'master' into master
Diffstat (limited to 'lua/99/test/request_spec.lua')
| -rw-r--r-- | lua/99/test/request_spec.lua | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/lua/99/test/request_spec.lua b/lua/99/test/request_spec.lua new file mode 100644 index 0000000..3c58ecd --- /dev/null +++ b/lua/99/test/request_spec.lua @@ -0,0 +1,54 @@ +-- luacheck: globals describe it assert +local _99 = require("99") +local test_utils = require("99.test.test_utils") +local eq = assert.are.same + +local content = { + "local function foo()", + " -- TODO: implement", + "end", +} + +describe("request test", function() + it("should replace visual selection with AI response", function() + local p = test_utils.test_setup(content, 2, 1, "lua") + local state = _99.__get_state() + local Request = require("99.request") + local RequestContext = require("99.request-context") + + local context = RequestContext.from_current_buffer(state, 100) + context.operation = "test_request" + context:finalize() + + local request = Request.new(context) + + local finished_called = false + local finished_status = nil + + eq("ready", request.state) + + eq(0, state:active_request_count()) + request:start({ + on_start = function() + print("on_start") + end, + on_complete = function(status, _) + finished_called = true + finished_status = status + end, + on_stdout = function() end, + on_stderr = function() end, + }) + test_utils.next_frame() + eq(1, state:active_request_count()) + + eq("requesting", request.state) + + p:resolve("success", " return 'implemented!'") + assert.is_true(finished_called) + + eq(0, state:active_request_count()) + eq("success", request.state) + eq("success", finished_status) + end) +end) |
