169 lines
3.5 KiB
YAML
169 lines
3.5 KiB
YAML
appId: ${APP_ID || "in.freshyo.adminui"}
|
|
env:
|
|
# Values are supplied via `-e` by run.sh. The inline `||` defaults let the
|
|
# flow run standalone against a dev build without run.sh.
|
|
APP_ID: ${APP_ID || "in.freshyo.adminui"}
|
|
STAFF_NAME: ${STAFF_NAME || ""}
|
|
STAFF_PASSWORD: ${STAFF_PASSWORD || ""}
|
|
PRODUCT_NAME: ${PRODUCT_NAME || "E2E Test Product"}
|
|
STORE_ID: ${STORE_ID || 1}
|
|
SKU1_QTY: ${SKU1_QTY || "500 g"}
|
|
SKU1_PRICE: ${SKU1_PRICE || "199"}
|
|
SKU1_MRP: ${SKU1_MRP || "249"}
|
|
SKU2_QTY: ${SKU2_QTY || "1 kg"}
|
|
SKU2_PRICE: ${SKU2_PRICE || "349"}
|
|
SKU2_MRP: ${SKU2_MRP || "399"}
|
|
SKU2_FLASH_PRICE: ${SKU2_FLASH_PRICE || "299"}
|
|
tags:
|
|
- products
|
|
- smoke
|
|
---
|
|
# Seed the emulator gallery so the OS picker has an image to select.
|
|
- addMedia:
|
|
- './assets/test-product.png'
|
|
|
|
# Fresh state (logs out) + grant gallery access.
|
|
- launchApp:
|
|
clearState: true
|
|
permissions:
|
|
storage: allow
|
|
|
|
# --- Login ---
|
|
- runFlow: subflows/login.yaml
|
|
|
|
# --- Navigate to Add Product ---
|
|
- tapOn:
|
|
id: add-product-menu-item
|
|
- assertVisible:
|
|
id: product-name-input
|
|
|
|
# --- Product level ---
|
|
- tapOn:
|
|
id: product-name-input
|
|
- inputText: ${PRODUCT_NAME}
|
|
- hideKeyboard
|
|
|
|
- scrollUntilVisible:
|
|
element:
|
|
id: product-store-dropdown
|
|
direction: DOWN
|
|
- tapOn:
|
|
id: product-store-dropdown
|
|
- tapOn:
|
|
id: product-store-dropdown-option-${STORE_ID}
|
|
|
|
- scrollUntilVisible:
|
|
element:
|
|
id: product-type-dropdown
|
|
direction: DOWN
|
|
- tapOn:
|
|
id: product-type-dropdown
|
|
- tapOn:
|
|
id: product-type-dropdown-option-item
|
|
|
|
# --- Variant 1 (regular) ---
|
|
- scrollUntilVisible:
|
|
element:
|
|
id: variant-0-attr-0-value
|
|
direction: DOWN
|
|
- tapOn:
|
|
id: variant-0-attr-0-value
|
|
- inputText: ${SKU1_QTY}
|
|
- hideKeyboard
|
|
|
|
- scrollUntilVisible:
|
|
element:
|
|
id: variant-0-price
|
|
direction: DOWN
|
|
- tapOn:
|
|
id: variant-0-price
|
|
- inputText: ${SKU1_PRICE}
|
|
- hideKeyboard
|
|
|
|
- scrollUntilVisible:
|
|
element:
|
|
id: variant-0-market-price
|
|
direction: DOWN
|
|
- tapOn:
|
|
id: variant-0-market-price
|
|
- inputText: ${SKU1_MRP}
|
|
- hideKeyboard
|
|
|
|
- scrollUntilVisible:
|
|
element:
|
|
id: variant-0-image-add
|
|
direction: DOWN
|
|
- tapOn:
|
|
id: variant-0-image-add
|
|
- runFlow: subflows/pick-image.yaml
|
|
|
|
# --- Add variant 2 (flash) ---
|
|
- scrollUntilVisible:
|
|
element:
|
|
id: add-variant-button
|
|
direction: UP
|
|
- tapOn:
|
|
id: add-variant-button
|
|
|
|
- scrollUntilVisible:
|
|
element:
|
|
id: variant-1-attr-0-value
|
|
direction: DOWN
|
|
- tapOn:
|
|
id: variant-1-attr-0-value
|
|
- inputText: ${SKU2_QTY}
|
|
- hideKeyboard
|
|
|
|
- scrollUntilVisible:
|
|
element:
|
|
id: variant-1-price
|
|
direction: DOWN
|
|
- tapOn:
|
|
id: variant-1-price
|
|
- inputText: ${SKU2_PRICE}
|
|
- hideKeyboard
|
|
|
|
- scrollUntilVisible:
|
|
element:
|
|
id: variant-1-market-price
|
|
direction: DOWN
|
|
- tapOn:
|
|
id: variant-1-market-price
|
|
- inputText: ${SKU2_MRP}
|
|
- hideKeyboard
|
|
|
|
# Mark variant 2 as flash and set its flash price.
|
|
- scrollUntilVisible:
|
|
element:
|
|
id: variant-1-flash
|
|
direction: DOWN
|
|
- tapOn:
|
|
id: variant-1-flash
|
|
|
|
- scrollUntilVisible:
|
|
element:
|
|
id: variant-1-flash-price
|
|
direction: DOWN
|
|
- tapOn:
|
|
id: variant-1-flash-price
|
|
- inputText: ${SKU2_FLASH_PRICE}
|
|
- hideKeyboard
|
|
|
|
- scrollUntilVisible:
|
|
element:
|
|
id: variant-1-image-add
|
|
direction: DOWN
|
|
- tapOn:
|
|
id: variant-1-image-add
|
|
- runFlow: subflows/pick-image.yaml
|
|
|
|
# --- Submit ---
|
|
- scrollUntilVisible:
|
|
element:
|
|
id: create-product-button
|
|
direction: DOWN
|
|
- tapOn:
|
|
id: create-product-button
|
|
|
|
- assertVisible: 'Product created successfully!'
|
|
- tapOn: 'OK'
|