github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/web/elm/tests/RequestBufferTests.elm (about) 1 module RequestBufferTests exposing (all) 2 3 import Common 4 import Dashboard.RequestBuffer exposing (Buffer(..), handleCallback, handleDelivery) 5 import Expect 6 import Message.Callback exposing (Callback(..)) 7 import Message.Effects exposing (Effect(..)) 8 import Message.Subscription exposing (Delivery(..), Interval(..)) 9 import Test exposing (Test, describe, test) 10 import Time 11 12 13 all : Test 14 all = 15 describe "RequestBuffer" 16 [ test "auto refreshes on five-second tick after previous request finishes" <| 17 \_ -> 18 ( False, [] ) 19 |> handleCallback callback [ buffer ] 20 |> handleDelivery 21 (ClockTicked FiveSeconds <| Time.millisToPosix 0) 22 [ buffer ] 23 |> Tuple.second 24 |> Common.contains effect 25 , test "doesn't fetch until the first request finishes" <| 26 \_ -> 27 ( False, [] ) 28 |> handleDelivery 29 (ClockTicked FiveSeconds <| Time.millisToPosix 0) 30 [ buffer ] 31 |> Tuple.second 32 |> Common.notContains effect 33 , test "doesn't fetch until the last request finishes" <| 34 \_ -> 35 ( False, [] ) 36 |> handleCallback callback [ buffer ] 37 |> handleDelivery 38 (ClockTicked FiveSeconds <| Time.millisToPosix 0) 39 [ buffer ] 40 |> handleDelivery 41 (ClockTicked FiveSeconds <| Time.millisToPosix 0) 42 [ buffer ] 43 |> Tuple.second 44 |> Expect.equal [ effect ] 45 ] 46 47 48 callback = 49 EmptyCallback 50 51 52 effect = 53 FetchUser 54 55 56 buffer : Buffer Bool 57 buffer = 58 Buffer effect 59 ((==) callback) 60 (always False) 61 { get = identity 62 , set = always 63 }