- wholesale 패키지 연동 (SooinSession, GeoYoungSession) - Flask Blueprint 분리 (sooin_api.py, geoyoung_api.py) - order_context 스키마 확장 (wholesaler_id, internal_code 등) - 수인약품 개별 취소 기능 (cancel_item, restore_item) - 문서 추가: WHOLESALE_API_INTEGRATION.md - 테스트 스크립트들
47 lines
1.5 KiB
Python
47 lines
1.5 KiB
Python
# -*- coding: utf-8 -*-
|
|
"""항목 취소 테스트"""
|
|
from sooin_api import SooinSession
|
|
import json
|
|
|
|
session = SooinSession()
|
|
session.login()
|
|
|
|
print('=== 항목 취소 테스트 ===\n')
|
|
|
|
# 1. 장바구니 비우기
|
|
session.clear_cart()
|
|
print('1. 장바구니 비움')
|
|
|
|
# 2. 두 개 담기
|
|
session.order_product('073100220', 1, '30T') # 코자정
|
|
print('2. 코자정 담음')
|
|
|
|
session.order_product('652100640', 1) # 스틸녹스
|
|
print('3. 스틸녹스 담음')
|
|
|
|
# 3. 장바구니 확인
|
|
cart = session.get_cart()
|
|
print(f'\n현재 장바구니:')
|
|
print(f' 총 항목: {cart.get("all_items", 0)}개')
|
|
print(f' 활성(주문포함): {cart.get("total_items", 0)}개')
|
|
print(f' 취소됨: {cart.get("cancelled_items", 0)}개')
|
|
for item in cart.get('items', []):
|
|
status = '❌ 취소' if item.get('checked') else '✅ 활성'
|
|
print(f' [{item.get("row_index")}] {item.get("product_name")} - {status}')
|
|
|
|
# 4. 첫 번째 항목 취소
|
|
print(f'\n4. 첫 번째 항목(idx=0) 취소 시도...')
|
|
result = session.cancel_item(row_index=0)
|
|
print(f' 결과: {result.get("success")} - {result.get("message", result.get("error", ""))}')
|
|
|
|
# 5. 다시 확인
|
|
cart = session.get_cart()
|
|
print(f'\n취소 후 장바구니:')
|
|
print(f' 활성: {cart.get("total_items", 0)}개')
|
|
print(f' 취소됨: {cart.get("cancelled_items", 0)}개')
|
|
for item in cart.get('items', []):
|
|
status = '❌ 취소' if item.get('checked') else '✅ 활성'
|
|
print(f' [{item.get("row_index")}] {item.get("product_name")} - {status}')
|
|
|
|
print('\n=== 완료 ===')
|