diff options
Diffstat (limited to 'src/guff/api')
-rw-r--r-- | src/guff/api/methods.cr | 8 | ||||
-rw-r--r-- | src/guff/api/test.cr | 63 |
2 files changed, 47 insertions, 24 deletions
diff --git a/src/guff/api/methods.cr b/src/guff/api/methods.cr index 0247460..8df48d5 100644 --- a/src/guff/api/methods.cr +++ b/src/guff/api/methods.cr @@ -357,6 +357,14 @@ module Guff "set_user": { text: "Set mock user", + + args: { + "user_id": { + text: "ID of user", + type: :int, + required: true, + }, + }, }, } } diff --git a/src/guff/api/test.cr b/src/guff/api/test.cr index 44b5e10..79d2d2e 100644 --- a/src/guff/api/test.cr +++ b/src/guff/api/test.cr @@ -17,41 +17,56 @@ module Guff [{foo: "bar"}, {foo: "asdf"}].to_json end - MOCK_USERS = { - "users": [{ - "id": "0", - "name": "Guest", - "active": true, - }, { - "id": "1", - "name": "Admin", - "active": false, - }, { - "id": "2", - "name": "Test User 1", - "active": false, - }, { - "id": "2", - "name": "Test User 2", - "active": false, - }, { - "id": "3", - "name": "Test User<<<<>>>>>&&&&&&2", - "active": false, - }] - } + MOCK_USERS = [{ + "id": "0", + "name": "Guest", + "active": true, + }, { + "id": "1", + "name": "Admin", + "active": false, + }, { + "id": "2", + "name": "Test User 1", + "active": false, + }, { + "id": "3", + "name": "Test User 2", + "active": false, + }, { + "id": "4", + "name": "Test User<<<<>>>>>&&&&&&2", + "active": false, + }] private def do_test_get_users( context : HTTP::Server::Context, args : Hash(String, String) ) - MOCK_USERS + user_id = "0" + with_session(context) do |session| + user_id = session["user_id"]? || "0" + false + end + + # build result + users = MOCK_USERS.map { |row| + row.merge({ "active": (row["id"] == user_id) }) + } + + # return result + { "users": users } end private def do_test_set_user( context : HTTP::Server::Context, args : Hash(String, String) ) + with_session(context) do |session| + session["user_id"] = args["user_id"] + true + end + { ok: true } end |