OCaml client for the Slack Web API
1let test_message_pin () =
2 let p =
3 Slack.Pin.message ~channel:"C1" ~ts:"1234.56" ~text:"important" ~user:"U1"
4 ~created:1000 ~created_by:"U2"
5 in
6 let s = Fmt.str "%a" Slack.Pin.pp p in
7 Alcotest.(check bool) "pp not empty" true (String.length s > 0)
8
9let test_file_pin () =
10 let p =
11 Slack.Pin.file ~id:"F1" ~name:"doc.pdf" ~title:"Report" ~channel:"C1"
12 ~created:1000 ~created_by:"U1"
13 in
14 let s = Fmt.str "%a" Slack.Pin.pp p in
15 Alcotest.(check bool) "pp not empty" true (String.length s > 0)
16
17let test_message_equal () =
18 let a =
19 Slack.Pin.message ~channel:"C1" ~ts:"1.0" ~text:"hi" ~user:"U1" ~created:100
20 ~created_by:"U2"
21 in
22 let b =
23 Slack.Pin.message ~channel:"C1" ~ts:"1.0" ~text:"hi" ~user:"U1" ~created:100
24 ~created_by:"U2"
25 in
26 Alcotest.(check bool) "equal" true (Slack.Pin.equal a b)
27
28let test_not_equal () =
29 let a =
30 Slack.Pin.message ~channel:"C1" ~ts:"1.0" ~text:"hi" ~user:"U1" ~created:100
31 ~created_by:"U2"
32 in
33 let b =
34 Slack.Pin.message ~channel:"C1" ~ts:"2.0" ~text:"hi" ~user:"U1" ~created:100
35 ~created_by:"U2"
36 in
37 Alcotest.(check bool) "not equal" false (Slack.Pin.equal a b)
38
39let test_message_vs_file () =
40 let m =
41 Slack.Pin.message ~channel:"C1" ~ts:"1.0" ~text:"hi" ~user:"U1" ~created:100
42 ~created_by:"U2"
43 in
44 let f =
45 Slack.Pin.file ~id:"F1" ~name:"doc.pdf" ~title:"Doc" ~channel:"C1"
46 ~created:100 ~created_by:"U2"
47 in
48 Alcotest.(check bool) "different types" false (Slack.Pin.equal m f)
49
50let suite =
51 ( "pin",
52 [
53 Alcotest.test_case "message pin" `Quick test_message_pin;
54 Alcotest.test_case "file pin" `Quick test_file_pin;
55 Alcotest.test_case "equal" `Quick test_message_equal;
56 Alcotest.test_case "not equal" `Quick test_not_equal;
57 Alcotest.test_case "message vs file" `Quick test_message_vs_file;
58 ] )