@@ -4,7 +4,7 @@ import { ReadPreference } from '../../src';
4
4
5
5
describe ( 'class ReadPreference' , function ( ) {
6
6
const maxStalenessSeconds = 1234 ;
7
- const { PRIMARY , SECONDARY , NEAREST } = ReadPreference ;
7
+ const { PRIMARY , PRIMARY_PREFERRED , SECONDARY , SECONDARY_PREFERRED , NEAREST } = ReadPreference ;
8
8
const TAGS = [ { loc : 'dc' } ] ;
9
9
describe ( '::constructor' , function ( ) {
10
10
it ( 'should accept (mode)' , function ( ) {
@@ -132,4 +132,46 @@ describe('class ReadPreference', function () {
132
132
) . to . throw ( 'Primary read preference cannot be combined with maxStalenessSeconds' ) ;
133
133
} ) ;
134
134
} ) ;
135
+
136
+ describe ( 'secondaryOk()' , function ( ) {
137
+ it ( 'should be false when readPreference is Primary' , function ( ) {
138
+ const readPreference = ReadPreference . fromOptions ( {
139
+ readPreference : PRIMARY
140
+ } ) ;
141
+ expect ( readPreference . secondaryOk ( ) ) . to . be . false ;
142
+ expect ( readPreference . slaveOk ( ) ) . to . be . false ;
143
+ } ) ;
144
+
145
+ it ( 'should be true when readPreference is Primary Preferred' , function ( ) {
146
+ const readPreference = ReadPreference . fromOptions ( {
147
+ readPreference : PRIMARY_PREFERRED
148
+ } ) ;
149
+ expect ( readPreference . secondaryOk ( ) ) . to . be . true ;
150
+ expect ( readPreference . slaveOk ( ) ) . to . be . true ;
151
+ } ) ;
152
+
153
+ it ( 'should be true when readPreference is Secondary' , function ( ) {
154
+ const readPreference = ReadPreference . fromOptions ( {
155
+ readPreference : SECONDARY
156
+ } ) ;
157
+ expect ( readPreference . secondaryOk ( ) ) . to . be . true ;
158
+ expect ( readPreference . slaveOk ( ) ) . to . be . true ;
159
+ } ) ;
160
+
161
+ it ( 'should be true when readPreference is Secondary Preferred' , function ( ) {
162
+ const readPreference = ReadPreference . fromOptions ( {
163
+ readPreference : SECONDARY_PREFERRED
164
+ } ) ;
165
+ expect ( readPreference . secondaryOk ( ) ) . to . be . true ;
166
+ expect ( readPreference . slaveOk ( ) ) . to . be . true ;
167
+ } ) ;
168
+
169
+ it ( 'should be true when readPreference is Nearest' , function ( ) {
170
+ const readPreference = ReadPreference . fromOptions ( {
171
+ readPreference : NEAREST
172
+ } ) ;
173
+ expect ( readPreference . secondaryOk ( ) ) . to . be . true ;
174
+ expect ( readPreference . slaveOk ( ) ) . to . be . true ;
175
+ } ) ;
176
+ } ) ;
135
177
} ) ;
0 commit comments