snaptrade 2.0.202 → 2.0.204

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -28,12 +28,15 @@ module SnapTrade
28
28
  # The type of order to place. - For `Limit` and `StopLimit` orders, the `price` field is required. - For `Stop` and `StopLimit` orders, the `stop` field is required.
29
29
  attr_accessor :order_type
30
30
 
31
- # The Time in Force type for the order. This field indicates how long the order will remain active before it is executed or expires. Here are the supported values: - `Day` - Day. The order is valid only for the trading day on which it is placed. - `GTC` - Good Til Canceled. The order is valid until it is executed or canceled. - `FOK` - Fill Or Kill. The order must be executed in its entirety immediately or be canceled completely. - `IOC` - Immediate Or Cancel. The order must be executed immediately. Any portion of the order that cannot be filled immediately will be canceled.
31
+ # The Time in Force type for the order. This field indicates how long the order will remain active before it is executed or expires. Here are the supported values: - `Day` - Day. The order is valid only for the trading day on which it is placed. - `GTC` - Good Til Canceled. The order is valid until it is executed or canceled. - `FOK` - Fill Or Kill. The order must be executed in its entirety immediately or be canceled completely. - `IOC` - Immediate Or Cancel. The order must be executed immediately. Any portion of the order that cannot be filled immediately will be canceled. - `GTD` - Good Til Date. The order is valid until `expiry_date`, which is required. Not available for market orders. GTD orders are only available on certain brokerages. Visit https://support.snaptrade.com/brokerages for brokerage support.
32
32
  attr_accessor :time_in_force
33
33
 
34
34
  # The trading session for the order. This field indicates which market session the order will be placed in. This is only available for certain brokerages. Defaults to REGULAR. Here are the supported values: - `REGULAR` - Regular trading hours. - `EXTENDED` - Extended trading hours.
35
35
  attr_accessor :trading_session
36
36
 
37
+ # Timestamp in [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format indicating when the order expires. Required when `time_in_force` is `GTD`. Include a timezone offset or `Z` for UTC; if no timezone is provided, UTC is assumed. GTD orders are only available on certain brokerages. Visit https://support.snaptrade.com/brokerages for brokerage support.
38
+ attr_accessor :expiry_date
39
+
37
40
  # The limit price for `Limit` and `StopLimit` orders.
38
41
  attr_accessor :price
39
42
 
@@ -45,6 +48,8 @@ module SnapTrade
45
48
 
46
49
  attr_accessor :notional_value
47
50
 
51
+ attr_accessor :client_order_id
52
+
48
53
  # Attribute mapping from ruby-style variable name to JSON key.
49
54
  def self.attribute_map
50
55
  {
@@ -55,10 +60,12 @@ module SnapTrade
55
60
  :'order_type' => :'order_type',
56
61
  :'time_in_force' => :'time_in_force',
57
62
  :'trading_session' => :'trading_session',
63
+ :'expiry_date' => :'expiry_date',
58
64
  :'price' => :'price',
59
65
  :'stop' => :'stop',
60
66
  :'units' => :'units',
61
- :'notional_value' => :'notional_value'
67
+ :'notional_value' => :'notional_value',
68
+ :'client_order_id' => :'client_order_id'
62
69
  }
63
70
  end
64
71
 
@@ -75,12 +82,14 @@ module SnapTrade
75
82
  :'universal_symbol_id' => :'String',
76
83
  :'symbol' => :'String',
77
84
  :'order_type' => :'OrderTypeStrict',
78
- :'time_in_force' => :'TimeInForceStrict',
85
+ :'time_in_force' => :'ManualTradePlaceTimeInForceStrict',
79
86
  :'trading_session' => :'TradingSession',
87
+ :'expiry_date' => :'Time',
80
88
  :'price' => :'Float',
81
89
  :'stop' => :'Float',
82
90
  :'units' => :'Float',
83
- :'notional_value' => :'ManualTradeFormNotionalValue'
91
+ :'notional_value' => :'ManualTradeFormNotionalValue',
92
+ :'client_order_id' => :'String'
84
93
  }
85
94
  end
86
95
 
@@ -89,10 +98,12 @@ module SnapTrade
89
98
  Set.new([
90
99
  :'universal_symbol_id',
91
100
  :'symbol',
101
+ :'expiry_date',
92
102
  :'price',
93
103
  :'stop',
94
104
  :'units',
95
- :'notional_value'
105
+ :'notional_value',
106
+ :'client_order_id'
96
107
  ])
97
108
  end
98
109
 
@@ -141,6 +152,10 @@ module SnapTrade
141
152
  self.trading_session = 'REGULAR'
142
153
  end
143
154
 
155
+ if attributes.key?(:'expiry_date')
156
+ self.expiry_date = attributes[:'expiry_date']
157
+ end
158
+
144
159
  if attributes.key?(:'price')
145
160
  self.price = attributes[:'price']
146
161
  end
@@ -156,6 +171,10 @@ module SnapTrade
156
171
  if attributes.key?(:'notional_value')
157
172
  self.notional_value = attributes[:'notional_value']
158
173
  end
174
+
175
+ if attributes.key?(:'client_order_id')
176
+ self.client_order_id = attributes[:'client_order_id']
177
+ end
159
178
  end
160
179
 
161
180
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -203,10 +222,12 @@ module SnapTrade
203
222
  order_type == o.order_type &&
204
223
  time_in_force == o.time_in_force &&
205
224
  trading_session == o.trading_session &&
225
+ expiry_date == o.expiry_date &&
206
226
  price == o.price &&
207
227
  stop == o.stop &&
208
228
  units == o.units &&
209
- notional_value == o.notional_value
229
+ notional_value == o.notional_value &&
230
+ client_order_id == o.client_order_id
210
231
  end
211
232
 
212
233
  # @see the `==` method
@@ -218,7 +239,7 @@ module SnapTrade
218
239
  # Calculates hash code according to all attributes.
219
240
  # @return [Integer] Hash code
220
241
  def hash
221
- [account_id, action, universal_symbol_id, symbol, order_type, time_in_force, trading_session, price, stop, units, notional_value].hash
242
+ [account_id, action, universal_symbol_id, symbol, order_type, time_in_force, trading_session, expiry_date, price, stop, units, notional_value, client_order_id].hash
222
243
  end
223
244
 
224
245
  # Builds the object from hash
@@ -0,0 +1,40 @@
1
+ =begin
2
+ #SnapTrade
3
+
4
+ #Connect brokerage accounts to your app for live positions and trading
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: api@snaptrade.com
8
+ =end
9
+
10
+ require 'date'
11
+ require 'time'
12
+
13
+ module SnapTrade
14
+ class ManualTradePlaceTimeInForceStrict
15
+ FOK = "FOK".freeze
16
+ DAY = "Day".freeze
17
+ GTC = "GTC".freeze
18
+ IOC = "IOC".freeze
19
+ GTD = "GTD".freeze
20
+
21
+ def self.all_vars
22
+ @all_vars ||= [FOK, DAY, GTC, IOC, GTD].freeze
23
+ end
24
+
25
+ # Builds the enum from string
26
+ # @param [String] The enum value in the form of the string
27
+ # @return [String] The enum value
28
+ def self.build_from_hash(value)
29
+ new.build_from_hash(value)
30
+ end
31
+
32
+ # Builds the enum from string
33
+ # @param [String] The enum value in the form of the string
34
+ # @return [String] The enum value
35
+ def build_from_hash(value)
36
+ return value if ManualTradePlaceTimeInForceStrict.all_vars.include?(value)
37
+ raise "Invalid ENUM value #{value} for class #ManualTradePlaceTimeInForceStrict"
38
+ end
39
+ end
40
+ end
@@ -15,10 +15,14 @@ module SnapTrade
15
15
  # Unique identifier for the connected brokerage account. This is the UUID used to reference the account in SnapTrade.
16
16
  attr_accessor :account_id
17
17
 
18
+ # How often the subscribed account should be checked for new trades. Must match an active Trade Detection plan.
19
+ attr_accessor :check_interval_seconds
20
+
18
21
  # Attribute mapping from ruby-style variable name to JSON key.
19
22
  def self.attribute_map
20
23
  {
21
- :'account_id' => :'account_id'
24
+ :'account_id' => :'account_id',
25
+ :'check_interval_seconds' => :'check_interval_seconds'
22
26
  }
23
27
  end
24
28
 
@@ -30,7 +34,8 @@ module SnapTrade
30
34
  # Attribute type mapping.
31
35
  def self.openapi_types
32
36
  {
33
- :'account_id' => :'String'
37
+ :'account_id' => :'String',
38
+ :'check_interval_seconds' => :'Integer'
34
39
  }
35
40
  end
36
41
 
@@ -58,6 +63,10 @@ module SnapTrade
58
63
  if attributes.key?(:'account_id')
59
64
  self.account_id = attributes[:'account_id']
60
65
  end
66
+
67
+ if attributes.key?(:'check_interval_seconds')
68
+ self.check_interval_seconds = attributes[:'check_interval_seconds']
69
+ end
61
70
  end
62
71
 
63
72
  # Show invalid properties with the reasons. Usually used together with valid?
@@ -68,6 +77,14 @@ module SnapTrade
68
77
  invalid_properties.push('invalid value for "account_id", account_id cannot be nil.')
69
78
  end
70
79
 
80
+ if @check_interval_seconds.nil?
81
+ invalid_properties.push('invalid value for "check_interval_seconds", check_interval_seconds cannot be nil.')
82
+ end
83
+
84
+ if @check_interval_seconds < 1
85
+ invalid_properties.push('invalid value for "check_interval_seconds", must be greater than or equal to 1.')
86
+ end
87
+
71
88
  invalid_properties
72
89
  end
73
90
 
@@ -75,15 +92,32 @@ module SnapTrade
75
92
  # @return true if the model is valid
76
93
  def valid?
77
94
  return false if @account_id.nil?
95
+ return false if @check_interval_seconds.nil?
96
+ return false if @check_interval_seconds < 1
78
97
  true
79
98
  end
80
99
 
100
+ # Custom attribute writer method with validation
101
+ # @param [Object] check_interval_seconds Value to be assigned
102
+ def check_interval_seconds=(check_interval_seconds)
103
+ if check_interval_seconds.nil?
104
+ fail ArgumentError, 'check_interval_seconds cannot be nil'
105
+ end
106
+
107
+ if check_interval_seconds < 1
108
+ fail ArgumentError, 'invalid value for "check_interval_seconds", must be greater than or equal to 1.'
109
+ end
110
+
111
+ @check_interval_seconds = check_interval_seconds
112
+ end
113
+
81
114
  # Checks equality by comparing each attribute.
82
115
  # @param [Object] Object to be compared
83
116
  def ==(o)
84
117
  return true if self.equal?(o)
85
118
  self.class == o.class &&
86
- account_id == o.account_id
119
+ account_id == o.account_id &&
120
+ check_interval_seconds == o.check_interval_seconds
87
121
  end
88
122
 
89
123
  # @see the `==` method
@@ -95,7 +129,7 @@ module SnapTrade
95
129
  # Calculates hash code according to all attributes.
96
130
  # @return [Integer] Hash code
97
131
  def hash
98
- [account_id].hash
132
+ [account_id, check_interval_seconds].hash
99
133
  end
100
134
 
101
135
  # Builds the object from hash
@@ -0,0 +1,222 @@
1
+ =begin
2
+ #SnapTrade
3
+
4
+ #Connect brokerage accounts to your app for live positions and trading
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: api@snaptrade.com
8
+ =end
9
+
10
+ require 'date'
11
+ require 'time'
12
+
13
+ module SnapTrade
14
+ class TradeDetectionCancelSubscriptionRequest
15
+ # Unique identifier for the connected brokerage account. This is the UUID used to reference the account in SnapTrade.
16
+ attr_accessor :account_id
17
+
18
+ # Attribute mapping from ruby-style variable name to JSON key.
19
+ def self.attribute_map
20
+ {
21
+ :'account_id' => :'account_id'
22
+ }
23
+ end
24
+
25
+ # Returns all the JSON keys this model knows about
26
+ def self.acceptable_attributes
27
+ attribute_map.values
28
+ end
29
+
30
+ # Attribute type mapping.
31
+ def self.openapi_types
32
+ {
33
+ :'account_id' => :'String'
34
+ }
35
+ end
36
+
37
+ # List of attributes with nullable: true
38
+ def self.openapi_nullable
39
+ Set.new([
40
+ ])
41
+ end
42
+
43
+ # Initializes the object
44
+ # @param [Hash] attributes Model attributes in the form of hash
45
+ def initialize(attributes = {})
46
+ if (!attributes.is_a?(Hash))
47
+ fail ArgumentError, "The input argument (attributes) must be a hash in `SnapTrade::TradeDetectionCancelSubscriptionRequest` initialize method"
48
+ end
49
+
50
+ # check to see if the attribute exists and convert string to symbol for hash key
51
+ attributes = attributes.each_with_object({}) { |(k, v), h|
52
+ if (!self.class.attribute_map.key?(k.to_sym))
53
+ fail ArgumentError, "`#{k}` is not a valid attribute in `SnapTrade::TradeDetectionCancelSubscriptionRequest`. Please check the name to make sure it's valid. List of attributes: " + self.class.attribute_map.keys.inspect
54
+ end
55
+ h[k.to_sym] = v
56
+ }
57
+
58
+ if attributes.key?(:'account_id')
59
+ self.account_id = attributes[:'account_id']
60
+ end
61
+ end
62
+
63
+ # Show invalid properties with the reasons. Usually used together with valid?
64
+ # @return Array for valid properties with the reasons
65
+ def list_invalid_properties
66
+ invalid_properties = Array.new
67
+ if @account_id.nil?
68
+ invalid_properties.push('invalid value for "account_id", account_id cannot be nil.')
69
+ end
70
+
71
+ invalid_properties
72
+ end
73
+
74
+ # Check to see if the all the properties in the model are valid
75
+ # @return true if the model is valid
76
+ def valid?
77
+ return false if @account_id.nil?
78
+ true
79
+ end
80
+
81
+ # Checks equality by comparing each attribute.
82
+ # @param [Object] Object to be compared
83
+ def ==(o)
84
+ return true if self.equal?(o)
85
+ self.class == o.class &&
86
+ account_id == o.account_id
87
+ end
88
+
89
+ # @see the `==` method
90
+ # @param [Object] Object to be compared
91
+ def eql?(o)
92
+ self == o
93
+ end
94
+
95
+ # Calculates hash code according to all attributes.
96
+ # @return [Integer] Hash code
97
+ def hash
98
+ [account_id].hash
99
+ end
100
+
101
+ # Builds the object from hash
102
+ # @param [Hash] attributes Model attributes in the form of hash
103
+ # @return [Object] Returns the model itself
104
+ def self.build_from_hash(attributes)
105
+ new.build_from_hash(attributes)
106
+ end
107
+
108
+ # Builds the object from hash
109
+ # @param [Hash] attributes Model attributes in the form of hash
110
+ # @return [Object] Returns the model itself
111
+ def build_from_hash(attributes)
112
+ return nil unless attributes.is_a?(Hash)
113
+ attributes = attributes.transform_keys(&:to_sym)
114
+ self.class.openapi_types.each_pair do |key, type|
115
+ if attributes[self.class.attribute_map[key]].nil? && self.class.openapi_nullable.include?(key)
116
+ self.send("#{key}=", nil)
117
+ elsif type =~ /\AArray<(.*)>/i
118
+ # check to ensure the input is an array given that the attribute
119
+ # is documented as an array but the input is not
120
+ if attributes[self.class.attribute_map[key]].is_a?(Array)
121
+ self.send("#{key}=", attributes[self.class.attribute_map[key]].map { |v| _deserialize($1, v) })
122
+ end
123
+ elsif !attributes[self.class.attribute_map[key]].nil?
124
+ self.send("#{key}=", _deserialize(type, attributes[self.class.attribute_map[key]]))
125
+ end
126
+ end
127
+
128
+ self
129
+ end
130
+
131
+ # Deserializes the data based on type
132
+ # @param string type Data type
133
+ # @param string value Value to be deserialized
134
+ # @return [Object] Deserialized data
135
+ def _deserialize(type, value)
136
+ case type.to_sym
137
+ when :Time
138
+ Time.parse(value)
139
+ when :Date
140
+ Date.parse(value)
141
+ when :String
142
+ value.to_s
143
+ when :Integer
144
+ value.to_i
145
+ when :Float
146
+ value.to_f
147
+ when :Boolean
148
+ if value.to_s =~ /\A(true|t|yes|y|1)\z/i
149
+ true
150
+ else
151
+ false
152
+ end
153
+ when :Object
154
+ # generic object (usually a Hash), return directly
155
+ value
156
+ when /\AArray<(?<inner_type>.+)>\z/
157
+ inner_type = Regexp.last_match[:inner_type]
158
+ value.map { |v| _deserialize(inner_type, v) }
159
+ when /\AHash<(?<k_type>.+?), (?<v_type>.+)>\z/
160
+ k_type = Regexp.last_match[:k_type]
161
+ v_type = Regexp.last_match[:v_type]
162
+ {}.tap do |hash|
163
+ value.each do |k, v|
164
+ hash[_deserialize(k_type, k)] = _deserialize(v_type, v)
165
+ end
166
+ end
167
+ else # model
168
+ # models (e.g. Pet) or oneOf
169
+ klass = SnapTrade.const_get(type)
170
+ klass.respond_to?(:openapi_one_of) ? klass.build(value) : klass.build_from_hash(value)
171
+ end
172
+ end
173
+
174
+ # Returns the string representation of the object
175
+ # @return [String] String presentation of the object
176
+ def to_s
177
+ to_hash.to_s
178
+ end
179
+
180
+ # to_body is an alias to to_hash (backward compatibility)
181
+ # @return [Hash] Returns the object in the form of hash
182
+ def to_body
183
+ to_hash
184
+ end
185
+
186
+ # Returns the object in the form of hash
187
+ # @return [Hash] Returns the object in the form of hash
188
+ def to_hash
189
+ hash = {}
190
+ self.class.attribute_map.each_pair do |attr, param|
191
+ value = self.send(attr)
192
+ if value.nil?
193
+ is_nullable = self.class.openapi_nullable.include?(attr)
194
+ next if !is_nullable || (is_nullable && !instance_variable_defined?(:"@#{attr}"))
195
+ end
196
+
197
+ hash[param] = _to_hash(value)
198
+ end
199
+ hash
200
+ end
201
+
202
+ # Outputs non-array value in the form of hash
203
+ # For object, use to_hash. Otherwise, just return the value
204
+ # @param [Object] value Any valid value
205
+ # @return [Hash] Returns the value in the form of hash
206
+ def _to_hash(value)
207
+ if value.is_a?(Array)
208
+ value.compact.map { |v| _to_hash(v) }
209
+ elsif value.is_a?(Hash)
210
+ {}.tap do |hash|
211
+ value.each { |k, v| hash[k] = _to_hash(v) }
212
+ end
213
+ elsif value.respond_to? :to_hash
214
+ value.to_hash
215
+ else
216
+ value
217
+ end
218
+ end
219
+
220
+ end
221
+
222
+ end
@@ -8,5 +8,5 @@ Contact: api@snaptrade.com
8
8
  =end
9
9
 
10
10
  module SnapTrade
11
- VERSION = '2.0.202'
11
+ VERSION = '2.0.204'
12
12
  end
data/lib/snaptrade.rb CHANGED
@@ -51,6 +51,7 @@ require 'snaptrade/models/action_strict_with_options'
51
51
  require 'snaptrade/models/adr_instrument'
52
52
  require 'snaptrade/models/adr_instrument_kind'
53
53
  require 'snaptrade/models/all_account_positions_response'
54
+ require 'snaptrade/models/all_account_positions_response_data_freshness'
54
55
  require 'snaptrade/models/auth_type'
55
56
  require 'snaptrade/models/authentication_login_snap_trade_user200_response'
56
57
  require 'snaptrade/models/balance'
@@ -116,6 +117,7 @@ require 'snaptrade/models/manual_trade_form_complex_type'
116
117
  require 'snaptrade/models/manual_trade_form_notional_value'
117
118
  require 'snaptrade/models/manual_trade_form_with_options'
118
119
  require 'snaptrade/models/manual_trade_impact'
120
+ require 'snaptrade/models/manual_trade_place_time_in_force_strict'
119
121
  require 'snaptrade/models/manual_trade_replace_form'
120
122
  require 'snaptrade/models/manual_trade_symbol'
121
123
  require 'snaptrade/models/mleg_action_strict'
@@ -206,6 +208,7 @@ require 'snaptrade/models/tax_lot'
206
208
  require 'snaptrade/models/time_in_force_strict'
207
209
  require 'snaptrade/models/timeframe'
208
210
  require 'snaptrade/models/trade_detection_add_subscription_request'
211
+ require 'snaptrade/models/trade_detection_cancel_subscription_request'
209
212
  require 'snaptrade/models/trade_detection_cancel_subscription_response'
210
213
  require 'snaptrade/models/trade_detection_subscription'
211
214
  require 'snaptrade/models/trading_instrument'
@@ -44,7 +44,7 @@ describe 'ExperimentalEndpointsApi' do
44
44
  # unit tests for cancel_subscription
45
45
  # Cancel a Trade Detection subscription
46
46
  # Cancels a Trade Detection subscription for a connected brokerage account. This endpoint requires partner signature authentication only and does not require &#x60;userId&#x60; or &#x60;userSecret&#x60;.
47
- # @param trade_detection_add_subscription_request
47
+ # @param trade_detection_cancel_subscription_request
48
48
  # @param [Hash] opts the optional parameters
49
49
  # @return [TradeDetectionCancelSubscriptionResponse]
50
50
  describe 'cancel_subscription test' do
@@ -0,0 +1,29 @@
1
+ =begin
2
+ #SnapTrade
3
+
4
+ #Connect brokerage accounts to your app for live positions and trading
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: api@snaptrade.com
8
+ =end
9
+
10
+ require 'spec_helper'
11
+ require 'json'
12
+ require 'date'
13
+
14
+ # Unit tests for SnapTrade::AllAccountPositionsResponseDataFreshness
15
+ describe SnapTrade::AllAccountPositionsResponseDataFreshness do
16
+ let(:instance) { SnapTrade::AllAccountPositionsResponseDataFreshness.new }
17
+
18
+ describe 'test an instance of AllAccountPositionsResponseDataFreshness' do
19
+ it 'should create an instance of AllAccountPositionsResponseDataFreshness' do
20
+ expect(instance).to be_instance_of(SnapTrade::AllAccountPositionsResponseDataFreshness)
21
+ end
22
+ end
23
+ describe 'test attribute "as_of"' do
24
+ it 'should work' do
25
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
26
+ end
27
+ end
28
+
29
+ end
@@ -26,4 +26,10 @@ describe SnapTrade::AllAccountPositionsResponse do
26
26
  end
27
27
  end
28
28
 
29
+ describe 'test attribute "data_freshness"' do
30
+ it 'should work' do
31
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
32
+ end
33
+ end
34
+
29
35
  end
@@ -62,6 +62,12 @@ describe SnapTrade::ManualTradeFormWithOptions do
62
62
  end
63
63
  end
64
64
 
65
+ describe 'test attribute "expiry_date"' do
66
+ it 'should work' do
67
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
68
+ end
69
+ end
70
+
65
71
  describe 'test attribute "price"' do
66
72
  it 'should work' do
67
73
  # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
@@ -86,4 +92,10 @@ describe SnapTrade::ManualTradeFormWithOptions do
86
92
  end
87
93
  end
88
94
 
95
+ describe 'test attribute "client_order_id"' do
96
+ it 'should work' do
97
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
98
+ end
99
+ end
100
+
89
101
  end
@@ -0,0 +1,23 @@
1
+ =begin
2
+ #SnapTrade
3
+
4
+ #Connect brokerage accounts to your app for live positions and trading
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: api@snaptrade.com
8
+ =end
9
+
10
+ require 'spec_helper'
11
+ require 'json'
12
+ require 'date'
13
+
14
+ # Unit tests for SnapTrade::ManualTradePlaceTimeInForceStrict
15
+ describe SnapTrade::ManualTradePlaceTimeInForceStrict do
16
+ let(:instance) { SnapTrade::ManualTradePlaceTimeInForceStrict.new }
17
+
18
+ describe 'test an instance of ManualTradePlaceTimeInForceStrict' do
19
+ it 'should create an instance of ManualTradePlaceTimeInForceStrict' do
20
+ expect(instance).to be_instance_of(SnapTrade::ManualTradePlaceTimeInForceStrict)
21
+ end
22
+ end
23
+ end
@@ -26,4 +26,10 @@ describe SnapTrade::TradeDetectionAddSubscriptionRequest do
26
26
  end
27
27
  end
28
28
 
29
+ describe 'test attribute "check_interval_seconds"' do
30
+ it 'should work' do
31
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
32
+ end
33
+ end
34
+
29
35
  end
@@ -0,0 +1,29 @@
1
+ =begin
2
+ #SnapTrade
3
+
4
+ #Connect brokerage accounts to your app for live positions and trading
5
+
6
+ The version of the OpenAPI document: 1.0.0
7
+ Contact: api@snaptrade.com
8
+ =end
9
+
10
+ require 'spec_helper'
11
+ require 'json'
12
+ require 'date'
13
+
14
+ # Unit tests for SnapTrade::TradeDetectionCancelSubscriptionRequest
15
+ describe SnapTrade::TradeDetectionCancelSubscriptionRequest do
16
+ let(:instance) { SnapTrade::TradeDetectionCancelSubscriptionRequest.new }
17
+
18
+ describe 'test an instance of TradeDetectionCancelSubscriptionRequest' do
19
+ it 'should create an instance of TradeDetectionCancelSubscriptionRequest' do
20
+ expect(instance).to be_instance_of(SnapTrade::TradeDetectionCancelSubscriptionRequest)
21
+ end
22
+ end
23
+ describe 'test attribute "account_id"' do
24
+ it 'should work' do
25
+ # assertion here. ref: https://www.relishapp.com/rspec/rspec-expectations/docs/built-in-matchers
26
+ end
27
+ end
28
+
29
+ end