import sys
import pytest
from flask import json
import os
from datetime import datetime
from dotenv import load_dotenv
import requests

sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), '../..')))

@pytest.fixture
def client():
    from app import app
    app.config['TESTING'] = True
    load_dotenv()
    return app.test_client()


# @app.route('/send-sms/offer-acceptance/', methods=['POST'])
# def send_offer_acceptance_text():
#     data = request.json
#     phone_number = data.get('phone_number')
#     name = data.get('name')
#     business_name = data.get('business_name')
#     content_type = data.get('content_type')
def test_offer_acceptance_text(client):
    # Define headers
    headers = {
        'Authorization': os.environ.get("FLASK_API_KEY"),
        'Content-Type': 'application/json'
    }

    # Prepare test data for a successful scenario
    data = {
        'phone_number': '+12406888504', 
        'name': '',
        'business_name': 'Strapt',
        'content_type': 'instagramPost',
    }
    
    response = client.post('/send-sms/offer-acceptance/', json=data, headers=headers)
    assert response.status_code == 200


def test_i_posted_text(client):
    # Define headers
    headers = {
        'Authorization': os.environ.get("FLASK_API_KEY"),
        'Content-Type': 'application/json'
    }

    # Prepare test data for a successful scenario
    data = {
        'phone_number': '+12406888504', 
        'name': '',
    }
    
    response = client.post('/send-sms/i-posted/', json=data, headers=headers)
    assert response.status_code == 200
    # Additional assertions based on the expected response

