Crypto and warrants added

This commit is contained in:
Options Vamp
2024-05-14 22:51:29 -04:00
parent 79e1507a56
commit 1ab38429bb
4 changed files with 269 additions and 0 deletions

55
crypto_test.go Normal file
View File

@@ -0,0 +1,55 @@
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)
}
}