@@ -40,7 +40,6 @@ describe("Android medium resolution activity recognizer", () => {
40
40
41
41
spyOn ( recognizerManager , "isReady" ) . and . callThrough ( ) ;
42
42
spyOn ( recognizerManager , "prepare" ) ;
43
- spyOn ( recognizerManager , "stopListening" ) ;
44
43
45
44
spyOn ( callbackManager , "add" ) . and . callThrough ( ) ;
46
45
spyOn ( callbackManager , "remove" ) ;
@@ -63,24 +62,21 @@ describe("Android medium resolution activity recognizer", () => {
63
62
spyOn ( recognizerManager , "startListening" ) ;
64
63
spyOn ( recognizerState , "isActive" )
65
64
. withArgs ( recognizerType )
66
- . and . returnValue ( Promise . resolve ( false ) ) ;
65
+ . and . returnValue ( Promise . resolve ( true ) ) ;
67
66
await recognizer . setup ( ) ;
68
- expect ( recognizerManager . startListening ) . not . toHaveBeenCalled ( ) ;
67
+ expect ( recognizerManager . startListening ) . toHaveBeenCalled ( ) ;
69
68
} ) ;
70
69
71
- it ( "does not restart listening when already active " , async ( ) => {
70
+ it ( "does not (re)start listening when inactive " , async ( ) => {
72
71
spyOn ( recognizerManager , "startListening" ) ;
73
72
spyOn ( recognizerState , "isActive" )
74
73
. withArgs ( recognizerType )
75
- . and . returnValue ( Promise . resolve ( true ) ) ;
74
+ . and . returnValue ( Promise . resolve ( false ) ) ;
76
75
await recognizer . setup ( ) ;
77
- expect ( recognizerManager . startListening ) . toHaveBeenCalled ( ) ;
76
+ expect ( recognizerManager . startListening ) . not . toHaveBeenCalled ( ) ;
78
77
} ) ;
79
78
80
79
it ( "allows to start the recognition by activating the underlying subsystem" , async ( ) => {
81
- spyOn ( recognizerState , "isActive" )
82
- . withArgs ( recognizerType )
83
- . and . returnValue ( Promise . resolve ( false ) ) ;
84
80
spyOn ( recognizerManager , "startListening" ) ;
85
81
await recognizer . startRecognizing ( ) ;
86
82
expect ( recognizerManager . startListening ) . toHaveBeenCalled ( ) ;
@@ -90,46 +86,37 @@ describe("Android medium resolution activity recognizer", () => {
90
86
} ) ;
91
87
92
88
it ( "does not mark the recognizer as active if the activation fails" , async ( ) => {
93
- spyOn ( recognizerState , "isActive" )
94
- . withArgs ( recognizerType )
95
- . and . returnValue ( Promise . resolve ( false ) ) ;
96
89
const listenError = new Error ( "Could not start listening" ) ;
97
90
spyOn ( recognizerManager , "startListening" ) . and . rejectWith ( listenError ) ;
98
91
await expectAsync ( recognizer . startRecognizing ( ) ) . toBeRejectedWith (
99
92
listenError
100
93
) ;
101
- } ) ;
102
-
103
- it ( "does not activate the underlying system if the recognizer is already active" , async ( ) => {
104
- spyOn ( recognizerState , "isActive" )
105
- . withArgs ( recognizerType )
106
- . and . returnValue ( Promise . resolve ( true ) ) ;
107
- spyOn ( recognizerManager , "startListening" ) ;
108
- await recognizer . startRecognizing ( ) ;
109
- expect ( recognizerManager . startListening ) . not . toHaveBeenCalled ( ) ;
110
94
expect ( recognizerState . markAsActive ) . not . toHaveBeenCalledWith (
111
95
recognizerType
112
96
) ;
113
97
} ) ;
114
98
115
99
it ( "allows to stop the recognition by deactivating the underlying subsystem" , async ( ) => {
116
- spyOn ( recognizerState , "isActive" )
117
- . withArgs ( recognizerType )
118
- . and . returnValue ( Promise . resolve ( true ) ) ;
100
+ spyOn ( recognizerManager , "stopListening" ) ;
119
101
await recognizer . stopRecognizing ( ) ;
120
102
expect ( recognizerManager . stopListening ) . toHaveBeenCalled ( ) ;
121
103
expect ( recognizerState . markAsInactive ) . toHaveBeenCalledWith (
122
104
recognizerType
123
105
) ;
124
106
} ) ;
125
107
126
- it ( "does not deactivate the underlying system if the recognizer is already inactive" , async ( ) => {
127
- spyOn ( recognizerState , "isActive" )
128
- . withArgs ( recognizerType )
129
- . and . returnValue ( Promise . resolve ( false ) ) ;
108
+ it ( "marks the recognizer as inactive even though the deactivation fails" , async ( ) => {
109
+ const deactivationError = new Error (
110
+ "Could not stop listening due to permissions not granted"
111
+ ) ;
112
+ spyOn ( recognizerManager , "stopListening" ) . and . rejectWith (
113
+ deactivationError
114
+ ) ;
130
115
await recognizer . stopRecognizing ( ) ;
131
- expect ( recognizerManager . stopListening ) . not . toHaveBeenCalled ( ) ;
132
- expect ( recognizerState . markAsInactive ) . not . toHaveBeenCalledWith (
116
+ await expectAsync ( recognizerManager . stopListening ( ) ) . toBeRejectedWith (
117
+ deactivationError
118
+ ) ;
119
+ expect ( recognizerState . markAsInactive ) . toHaveBeenCalledWith (
133
120
recognizerType
134
121
) ;
135
122
} ) ;
0 commit comments