A Discord API Library for Gleam! 馃挮
0

Configure Feed

Select the types of activity you want to include in your feed.

grom / test / grom_test.gleam
1.9 kB 65 lines
1import gleam/http 2import gleam/http/request 3import gleam/json 4import gleam/option.{Some} 5import gleam/time/timestamp 6import gleeunit 7import gleeunit/should 8import grom 9import grom/file.{File} 10import grom/internal/rest 11import grom/snowflake 12import grom/user/current_user 13 14pub fn main() { 15 gleeunit.main() 16} 17 18pub fn encode_modify_current_test() { 19 current_user.Modify(..current_user.new_modify(), username: Some("fo1o")) 20 |> current_user.modify_to_json 21 |> json.to_string 22 |> should.equal("{\"username\":\"fo1o\"}") 23} 24 25pub fn multipart_request_test() { 26 let expected = 27 rest.new_request(grom.Client("token"), http.Post, "/") 28 |> request.set_body(<< 29 "--gleam_multipart_form\r\n":utf8, 30 "Content-Disposition: form-data; name=\"payload_json\"\r\n":utf8, 31 "Content-Type: application/json\r\n\r\n":utf8, "{}\r\n":utf8, 32 "--gleam_multipart_form\r\n":utf8, 33 "Content-Disposition: form-data; name=\"files[0]\"; filename=\"name\"\r\n":utf8, 34 "Content-Type: image/png\r\n\r\n":utf8, "test\r\n":utf8, 35 "--gleam_multipart_form\r\n":utf8, 36 "Content-Disposition: form-data; name=\"files[1]\"; filename=\"name2\"\r\n":utf8, 37 "Content-Type: image/jpeg\r\n\r\n":utf8, "jpeg\r\n":utf8, 38 "--gleam_multipart_form--":utf8, 39 >>) 40 |> request.set_header( 41 "content-type", 42 "multipart/form-data; boundary=gleam_multipart_form", 43 ) 44 45 let result = 46 rest.new_multipart_request( 47 grom.Client("token"), 48 http.Post, 49 "/", 50 json.object([]), 51 [ 52 File("name", "image/png", <<"test":utf8>>), 53 File("name2", "image/jpeg", <<"jpeg":utf8>>), 54 ], 55 ) 56 57 result 58 |> should.equal(expected) 59} 60 61pub fn get_creation_timestamp_test() { 62 let expected = timestamp.from_unix_seconds(1_612_894_569) 63 let assert Ok(actual) = snowflake.get_creation_timestamp("808763186811633735") 64 assert actual == expected 65}