# -*- coding: utf-8 -*- """방안 1: 임시 보관 방식 테스트""" import sys; sys.path.insert(0, '.'); import wholesale_path import importlib import wholesale.sooin importlib.reload(wholesale.sooin) from wholesale import SooinSession SooinSession._instance = None s = SooinSession() s.login() s.clear_cart() # 시나리오: 기존 코자정이 담겨있고, 디카맥스만 주문하고 싶음 print('=== 1. 기존 품목 (코자정) 담기 ===') r1 = s.search_products('코자정') p1 = r1['items'][0] s.add_to_cart(p1['internal_code'], qty=1, price=p1['price'], stock=p1['stock']) print(f"기존 품목: {p1['name']}") print('\n=== 2. 새 품목 (디카맥스) 담기 ===') r2 = s.search_products('디카맥스') p2 = r2['items'][0] s.add_to_cart(p2['internal_code'], qty=1, price=p2['price'], stock=p2['stock']) print(f"새 품목: {p2['name']}") # 장바구니 확인 cart = s.get_cart() print(f"\n현재 장바구니: {cart['total_items']}개") # === 선별 주문 시작 === print('\n' + '='*50) print('=== 선별 주문: 디카맥스만 주문 ===') print('='*50) # 3. 기존 품목 정보 저장 print('\n3. 기존 품목 정보 저장') existing_items = [] for item in cart['items']: # 디카맥스는 제외 (이번에 주문할 품목) if '디카맥스' not in item['product_name']: existing_items.append({ 'internal_code': item['internal_code'], 'quantity': item['quantity'], 'price': item['unit_price'], 'name': item['product_name'] }) print(f" 저장: {item['product_name']}") # 4. 장바구니 비우기 print('\n4. 장바구니 비우기') s.clear_cart() # 5. 주문할 품목만 다시 담기 print('\n5. 디카맥스만 다시 담기') s.add_to_cart(p2['internal_code'], qty=1, price=p2['price'], stock=p2['stock']) # 6. 주문 print('\n6. 주문!') result = s.submit_order() print(f"결과: {result}") # 7. 기존 품목 복원 print('\n7. 기존 품목 복원') for item in existing_items: s.add_to_cart(item['internal_code'], qty=item['quantity'], price=item['price'], stock=999) print(f" 복원: {item['name']}") # 8. 최종 확인 print('\n=== 8. 최종 장바구니 ===') final_cart = s.get_cart() print(f"품목 수: {final_cart['total_items']}") for item in final_cart['items']: print(f" - {item['product_name']}") if final_cart['total_items'] == 1 and '코자정' in final_cart['items'][0]['product_name']: print('\n🎉 성공! 디카맥스만 주문되고 코자정은 복원됨!') else: print('\n❌ 실패')