All checks were successful
Continuous Integration / CI (push) Successful in 1m40s
Made lint tests pass
56 lines
1.4 KiB
Go
56 lines
1.4 KiB
Go
package tastytrade
|
|
|
|
import (
|
|
"net/http"
|
|
"net/http/httptest"
|
|
"testing"
|
|
)
|
|
|
|
func TestListWarrants(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/warrants"}`))
|
|
}))
|
|
defer ts.Close()
|
|
|
|
// Create a new TastytradeAPI instance with the test server URL
|
|
api := NewTastytradeAPI(ts.URL)
|
|
|
|
// Call the ListWarrants function
|
|
result, err := api.ListWarrants()
|
|
|
|
// Check for errors
|
|
if err != nil {
|
|
t.Fatalf("Expected no error, got %v", err)
|
|
}
|
|
|
|
// Check the result
|
|
if result.Context != "/instruments/warrants" {
|
|
t.Errorf("Expected context to be /instruments/warrants, got %v", result.Context)
|
|
}
|
|
}
|
|
|
|
func TestGetWarrant(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": "SEPAW"}, "context": "/instruments/warrants/SEPAW"}`))
|
|
}))
|
|
defer ts.Close()
|
|
|
|
// Create a new TastytradeAPI instance with the test server URL
|
|
api := NewTastytradeAPI(ts.URL)
|
|
|
|
// Call the GetWarrant function
|
|
result, err := api.GetWarrant("SEPAW")
|
|
|
|
// Check for errors
|
|
if err != nil {
|
|
t.Fatalf("Expected no error, got %v", err)
|
|
}
|
|
|
|
// Check the result
|
|
if result.Data.Symbol != "SEPAW" {
|
|
t.Errorf("Expected symbol to be SEPAW, got %v", result.Data.Symbol)
|
|
}
|
|
}
|