# -*- coding: utf-8 -*- """지오영 선별 주문 테스트""" import sys; sys.path.insert(0, '.'); import wholesale_path import importlib import wholesale.geoyoung importlib.reload(wholesale.geoyoung) from wholesale import GeoYoungSession GeoYoungSession._instance = None g = GeoYoungSession() g.login() g.clear_cart() # 재고 있는 품목 검색 print('=== 1. 재고 확인 ===') r1 = g.search_products('라식스') r2 = g.search_products('코자정') if not r1.get('items') or not r2.get('items'): print('품목을 찾을 수 없습니다') exit() p1 = r1['items'][0] p2 = r2['items'][0] print(f"라식스: {p1['name']}, 재고 {p1.get('stock', '?')}, code: {p1['internal_code']}") print(f"코자정: {p2['name']}, 재고 {p2.get('stock', '?')}, code: {p2['internal_code']}") # 기존 품목 담기 (라식스 - 나중에 복원할 것) print('\n=== 2. 기존 품목 (라식스) 담기 ===') g.add_to_cart(p1['internal_code'], quantity=1) # 새 품목 담기 (코자정 - 주문할 것) print('=== 3. 새 품목 (코자정) 담기 ===') g.add_to_cart(p2['internal_code'], quantity=1) cart = g.get_cart() print(f"현재 장바구니: {cart['total_items']}개") for item in cart['items']: code = item.get('product_code') or item.get('internal_code', '?') print(f" - {item['product_name'][:30]} (code: {code})") # === 선별 주문 === print('\n' + '='*50) print('=== 코자정만 주문! ===') print('='*50) # 코자정의 internal_code만 전달 print(f"\n주문할 internal_code: [{p2['internal_code']}]") result = g.submit_order_selective([p2['internal_code']]) print(f"결과: {result}") # 최종 확인 final = g.get_cart() print(f"\n=== 최종 장바구니: {final['total_items']}개 ===") for item in final['items']: print(f" - {item['product_name'][:30]}") if final['total_items'] == 1 and '라식스' in final['items'][0]['product_name']: print('\n🎉 성공! 코자정만 주문됨, 라식스 복원됨!') elif final['total_items'] == 0: print('\n⚠️ 둘 다 주문됨 - 선별 주문 실패') else: print(f'\n🤔 예상 외 결과: {final["total_items"]}개 남음')