Files
tastytrade/crypto_test.go
sjc ada6d2d440
All checks were successful
Continuous Integration / CI (push) Successful in 1m40s
Lint Tests Passing
Made lint tests pass
2025-05-08 00:36:03 -04:00

56 lines
1.5 KiB
Go

package tastytrade
import (
"net/http"
"net/http/httptest"
"testing"
)
func TestListCryptocurrencies(t *testing.T) {
// Create a test server that returns a dummy response
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
_,_ = w.Write([]byte(`{"data": {"items": []}, "context": "/instruments/cryptocurrencies"}`))
}))
defer ts.Close()
// Create a new TastytradeAPI instance with the test server URL
api := NewTastytradeAPI(ts.URL)
// Call the ListCryptocurrencies function
result, err := api.ListCryptocurrencies()
// Check for errors
if err != nil {
t.Fatalf("Expected no error, got %v", err)
}
// Check the result
if result.Context != "/instruments/cryptocurrencies" {
t.Errorf("Expected context to be /instruments/cryptocurrencies, got %v", result.Context)
}
}
func TestGetCryptocurrency(t *testing.T) {
// Create a test server that returns a dummy response
ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
_,_ = w.Write([]byte(`{"data": {"symbol": "BTC/USD"}, "context": "/instruments/cryptocurrencies/BTC%2FUSD"}`))
}))
defer ts.Close()
// Create a new TastytradeAPI instance with the test server URL
api := NewTastytradeAPI(ts.URL)
// Call the GetCryptocurrency function
result, err := api.GetCryptocurrency("BTC/USD")
// Check for errors
if err != nil {
t.Fatalf("Expected no error, got %v", err)
}
// Check the result
if result.Data.Symbol != "BTC/USD" {
t.Errorf("Expected symbol to be BTC/USD, got %v", result.Data.Symbol)
}
}