# Copyright (c) 2021 Project CHIP Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

name:
    36.4.8. [TC-WNCV-7.1] GoToPercentage Commands Verification with client as
    DUT

PICS:
    - WNCV.C

config:
    nodeId: 0x12344321
    cluster: "Window Covering"
    endpoint: 0

tests:
    #- label: "Wait for the device to be commissioned"
    #  cluster: "DelayCommands"
    #  command: "WaitForCommissioning"

    - label:
          "Step 1a: If (PA_LF & LF) DUT sends GoToLiftPercentage command with
          50% to DUT"
      wait: "GoToLiftPercentage"
      PICS: WNCV.C.C05.Tx

    - label:
          "Step 2a: If (PA_TL & TL) DUT sends GoToTiltPercentage command with
          50% to DUT"
      wait: "GoToTiltPercentage"
      PICS: WNCV.C.C08.Tx
