#!/bin/bash

# Superport API 통합 테스트 스크립트
# 작성일: 2025-01-07

echo "======================================"
echo "Superport API 통합 테스트 시작"
echo "======================================"

# 색상 정의
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color

# API 기본 URL
API_URL="https://api-dev.beavercompany.co.kr"

# 테스트 계정
TEST_EMAIL="admin@example.com"
TEST_PASSWORD="password123"

echo -e "\n${YELLOW}1. 헬스 체크${NC}"
curl -s -X GET "$API_URL/health" | jq '.' || echo -e "${RED}헬스 체크 실패${NC}"

echo -e "\n${YELLOW}2. 로그인 테스트${NC}"
TOKEN=$(curl -s -X POST "$API_URL/auth/login" \
  -H "Content-Type: application/json" \
  -d "{\"email\":\"$TEST_EMAIL\",\"password\":\"$TEST_PASSWORD\"}" | jq -r '.data.token')

if [ -z "$TOKEN" ] || [ "$TOKEN" = "null" ]; then
  echo -e "${RED}로그인 실패! 토큰을 받지 못했습니다.${NC}"
  exit 1
else
  echo -e "${GREEN}로그인 성공! 토큰 획득${NC}"
fi

echo -e "\n${YELLOW}3. 장비 목록 조회${NC}"
curl -s -X GET "$API_URL/equipment" \
  -H "Authorization: Bearer $TOKEN" | jq '.data[0] | {id, equipmentNumber, status}' || echo -e "${RED}장비 조회 실패${NC}"

echo -e "\n${YELLOW}4. 회사 목록 조회${NC}"
curl -s -X GET "$API_URL/companies" \
  -H "Authorization: Bearer $TOKEN" | jq '.data[0] | {id, name, isActive}' || echo -e "${RED}회사 조회 실패${NC}"

echo -e "\n${YELLOW}5. 창고 위치 목록 조회${NC}"
curl -s -X GET "$API_URL/warehouse-locations" \
  -H "Authorization: Bearer $TOKEN" | jq '.data[0] | {id, name, isActive}' || echo -e "${RED}창고 조회 실패${NC}"

echo -e "\n${YELLOW}6. 라이선스 목록 조회${NC}"
curl -s -X GET "$API_URL/licenses" \
  -H "Authorization: Bearer $TOKEN" | jq '.data[0] | {id, licenseKey, isActive}' || echo -e "${RED}라이선스 조회 실패${NC}"

echo -e "\n======================================"
echo -e "${GREEN}API 통합 테스트 완료${NC}"
echo "======================================"