@@ -4,7 +4,7 @@ import { ReadPreference } from '../../src';
44
55describe ( 'class ReadPreference' , function ( ) {
66 const maxStalenessSeconds = 1234 ;
7- const { PRIMARY , SECONDARY , NEAREST } = ReadPreference ;
7+ const { PRIMARY , PRIMARY_PREFERRED , SECONDARY , SECONDARY_PREFERRED , NEAREST } = ReadPreference ;
88 const TAGS = [ { loc : 'dc' } ] ;
99 describe ( '::constructor' , function ( ) {
1010 it ( 'should accept (mode)' , function ( ) {
@@ -132,4 +132,46 @@ describe('class ReadPreference', function () {
132132 ) . to . throw ( 'Primary read preference cannot be combined with maxStalenessSeconds' ) ;
133133 } ) ;
134134 } ) ;
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+ } ) ;
135177} ) ;
0 commit comments