github.com/pf-qiu/concourse/v6@v6.7.3-0.20201207032516-1f455d73275f/web/elm/tests/SideBarTests.elm (about)

     1  module SideBarTests exposing (all)
     2  
     3  import Browser.Dom
     4  import Common
     5  import Data
     6  import Expect
     7  import HoverState
     8  import Message.Effects as Effects
     9  import Message.Message exposing (DomID(..), Message(..), PipelinesSection(..))
    10  import RemoteData
    11  import ScreenSize
    12  import Set
    13  import SideBar.SideBar as SideBar
    14  import Test exposing (Test, describe, test)
    15  
    16  
    17  all : Test
    18  all =
    19      describe "SideBar"
    20          [ describe ".update"
    21              [ test "asks browser for viewport when hovering a pipeline link" <|
    22                  \_ ->
    23                      model
    24                          |> SideBar.update (Hover <| Just domID)
    25                          |> Tuple.second
    26                          |> Common.contains
    27                              (Effects.GetViewportOf domID)
    28              , test "does not ask browser for viewport otherwise" <|
    29                  \_ ->
    30                      model
    31                          |> SideBar.update (Hover <| Just ToggleJobButton)
    32                          |> Tuple.second
    33                          |> Expect.equal []
    34              ]
    35          ]
    36  
    37  
    38  model : SideBar.Model {}
    39  model =
    40      { expandedTeamsInAllPipelines = Set.fromList [ "team" ]
    41      , collapsedTeamsInFavorites = Set.empty
    42      , pipelines =
    43          RemoteData.Success
    44              [ Data.pipeline "team" 0 |> Data.withName "pipeline" ]
    45      , hovered = HoverState.NoHover
    46      , sideBarState =
    47          { isOpen = True
    48          , width = 275
    49          }
    50      , draggingSideBar = False
    51      , screenSize = ScreenSize.Desktop
    52      , favoritedPipelines = Set.empty
    53      }
    54  
    55  
    56  domID : DomID
    57  domID =
    58      SideBarPipeline AllPipelinesSection Data.pipelineId