github.com/polygon-io/client-go@v1.16.4/rest/models/snapshot_test.go (about) 1 package models_test 2 3 import ( 4 "testing" 5 "time" 6 7 "github.com/polygon-io/client-go/rest/models" 8 ) 9 10 func TestGetAllTickersSnapshotParams(t *testing.T) { 11 tickers := "AAPL,GOOL,TSLA" 12 otc := false 13 expect := models.GetAllTickersSnapshotParams{ 14 Tickers: &tickers, 15 IncludeOTC: &otc, 16 } 17 actual := models.GetAllTickersSnapshotParams{}. 18 WithTickers(tickers). 19 WithIncludeOTC(otc) 20 21 checkParams(t, expect, *actual) 22 } 23 24 func TestGetIndicesSnapshotParams(t *testing.T) { 25 tickers := "AAPL,GOOL,TSLA" 26 expect := models.GetIndicesSnapshotParams{ 27 TickerAnyOf: &tickers, 28 } 29 actual := models.GetIndicesSnapshotParams{}.WithTickerAnyOf(tickers) 30 checkParams(t, expect, *actual) 31 } 32 33 func TestListUniversalSnapshotsParams(t *testing.T) { 34 ticker := "A" 35 tickers := "AAPL,GOOL,TSLA" 36 snapshot := "stocks" 37 expect := models.ListUniversalSnapshotsParams{ 38 TickerAnyOf: &tickers, 39 Ticker: &ticker, 40 TickerLT: &ticker, 41 TickerLTE: &ticker, 42 TickerGT: &ticker, 43 TickerGTE: &ticker, 44 Type: &snapshot, 45 } 46 actual := models.ListUniversalSnapshotsParams{}. 47 WithTickerAnyOf(tickers). 48 WithTicker(ticker). 49 WithTickersByComparison(models.LT, ticker). 50 WithTickersByComparison(models.LTE, ticker). 51 WithTickersByComparison(models.GT, ticker). 52 WithTickersByComparison(models.GTE, ticker). 53 WithType(snapshot) 54 55 checkParams(t, expect, *actual) 56 } 57 58 func TestListOptionsChainParams(t *testing.T) { 59 date := models.Date(time.Date(2023, 3, 23, 0, 0, 0, 0, time.Local)) 60 contractType := models.ContractCall 61 strikePrice := 1.23 62 limit := 100 63 sort := models.TickerSymbol 64 order := models.Asc 65 expect := models.ListOptionsChainParams{ 66 StrikePrice: &strikePrice, 67 ContractType: &contractType, 68 ExpirationDateEQ: &date, 69 ExpirationDateLT: &date, 70 ExpirationDateLTE: &date, 71 ExpirationDateGT: &date, 72 ExpirationDateGTE: &date, 73 Limit: &limit, 74 Sort: &sort, 75 Order: &order, 76 } 77 actual := models.ListOptionsChainParams{}. 78 WithStrikePrice(strikePrice). 79 WithContractType(contractType). 80 WithExpirationDate(models.EQ, date). 81 WithExpirationDate(models.LT, date). 82 WithExpirationDate(models.LTE, date). 83 WithExpirationDate(models.GT, date). 84 WithExpirationDate(models.GTE, date). 85 WithLimit(limit). 86 WithSort(sort). 87 WithOrder(order) 88 89 checkParams(t, expect, *actual) 90 }