@@ -137,91 +137,93 @@ describe("UKMetOfficeDataHubProvider", () => {
137137 provider . start ( ) ;
138138
139139 await new Promise ( ( resolve ) => setTimeout ( resolve , 100 ) ) ;
140- expect ( requestedUrl ) . toContain ( "/three-hourly?" ) ; } ) ;
141- } ) ;
142-
143- describe ( "Current Weather Parsing" , ( ) => { it ( "should parse current weather from hourly data" , async ( ) => {
144- const provider = new UKMetOfficeDataHubProvider ( {
145- apiKey : "test-key" ,
146- lat : 51.5 ,
147- lon : - 0.12 ,
148- type : "current"
140+ expect ( requestedUrl ) . toContain ( "/three-hourly?" ) ;
149141 } ) ;
142+ } ) ;
150143
151- const dataPromise = new Promise ( ( resolve ) => {
152- provider . setCallbacks ( resolve , vi . fn ( ) ) ;
153- } ) ;
144+ describe ( "Current Weather Parsing" , ( ) => {
145+ it ( "should parse current weather from hourly data" , async ( ) => {
146+ const provider = new UKMetOfficeDataHubProvider ( {
147+ apiKey : "test-key" ,
148+ lat : 51.5 ,
149+ lon : - 0.12 ,
150+ type : "current"
151+ } ) ;
154152
155- server . use (
156- http . get ( UKMETOFFICE_HOURLY_URL , ( ) => {
157- return HttpResponse . json ( hourlyData ) ;
158- } )
159- ) ;
153+ const dataPromise = new Promise ( ( resolve ) => {
154+ provider . setCallbacks ( resolve , vi . fn ( ) ) ;
155+ } ) ;
160156
161- await provider . initialize ( ) ;
162- provider . start ( ) ;
157+ server . use (
158+ http . get ( UKMETOFFICE_HOURLY_URL , ( ) => {
159+ return HttpResponse . json ( hourlyData ) ;
160+ } )
161+ ) ;
163162
164- const result = await dataPromise ;
163+ await provider . initialize ( ) ;
164+ provider . start ( ) ;
165165
166- expect ( result ) . toBeDefined ( ) ;
167- expect ( result . temperature ) . toBeDefined ( ) ;
168- expect ( result . windSpeed ) . toBeDefined ( ) ;
169- expect ( result . humidity ) . toBeDefined ( ) ;
170- expect ( result . weatherType ) . not . toBeNull ( ) ;
171- } ) ;
166+ const result = await dataPromise ;
172167
173- it ( "should include sunrise/sunset from SunCalc" , async ( ) => {
174- const provider = new UKMetOfficeDataHubProvider ( {
175- apiKey : "test-key" ,
176- lat : 51.5 ,
177- lon : - 0.12 ,
178- type : "current"
168+ expect ( result ) . toBeDefined ( ) ;
169+ expect ( result . temperature ) . toBeDefined ( ) ;
170+ expect ( result . windSpeed ) . toBeDefined ( ) ;
171+ expect ( result . humidity ) . toBeDefined ( ) ;
172+ expect ( result . weatherType ) . not . toBeNull ( ) ;
179173 } ) ;
180174
181- const dataPromise = new Promise ( ( resolve ) => {
182- provider . setCallbacks ( resolve , vi . fn ( ) ) ;
183- } ) ;
175+ it ( "should include sunrise/sunset from SunCalc" , async ( ) => {
176+ const provider = new UKMetOfficeDataHubProvider ( {
177+ apiKey : "test-key" ,
178+ lat : 51.5 ,
179+ lon : - 0.12 ,
180+ type : "current"
181+ } ) ;
184182
185- server . use (
186- http . get ( UKMETOFFICE_HOURLY_URL , ( ) => {
187- return HttpResponse . json ( hourlyData ) ;
188- } )
189- ) ;
183+ const dataPromise = new Promise ( ( resolve ) => {
184+ provider . setCallbacks ( resolve , vi . fn ( ) ) ;
185+ } ) ;
190186
191- await provider . initialize ( ) ;
192- provider . start ( ) ;
187+ server . use (
188+ http . get ( UKMETOFFICE_HOURLY_URL , ( ) => {
189+ return HttpResponse . json ( hourlyData ) ;
190+ } )
191+ ) ;
193192
194- const result = await dataPromise ;
193+ await provider . initialize ( ) ;
194+ provider . start ( ) ;
195195
196- expect ( result . sunrise ) . toBeInstanceOf ( Date ) ;
197- expect ( result . sunset ) . toBeInstanceOf ( Date ) ;
198- } ) ;
196+ const result = await dataPromise ;
199197
200- it ( "should convert weather code to weather type" , async ( ) => {
201- const provider = new UKMetOfficeDataHubProvider ( {
202- apiKey : "test-key" ,
203- lat : 51.5 ,
204- lon : - 0.12 ,
205- type : "current"
198+ expect ( result . sunrise ) . toBeInstanceOf ( Date ) ;
199+ expect ( result . sunset ) . toBeInstanceOf ( Date ) ;
206200 } ) ;
207201
208- const dataPromise = new Promise ( ( resolve ) => {
209- provider . setCallbacks ( resolve , vi . fn ( ) ) ;
210- } ) ;
202+ it ( "should convert weather code to weather type" , async ( ) => {
203+ const provider = new UKMetOfficeDataHubProvider ( {
204+ apiKey : "test-key" ,
205+ lat : 51.5 ,
206+ lon : - 0.12 ,
207+ type : "current"
208+ } ) ;
211209
212- server . use (
213- http . get ( UKMETOFFICE_HOURLY_URL , ( ) => {
214- return HttpResponse . json ( hourlyData ) ;
215- } )
216- ) ;
210+ const dataPromise = new Promise ( ( resolve ) => {
211+ provider . setCallbacks ( resolve , vi . fn ( ) ) ;
212+ } ) ;
217213
218- await provider . initialize ( ) ;
219- provider . start ( ) ;
214+ server . use (
215+ http . get ( UKMETOFFICE_HOURLY_URL , ( ) => {
216+ return HttpResponse . json ( hourlyData ) ;
217+ } )
218+ ) ;
220219
221- const result = await dataPromise ;
220+ await provider . initialize ( ) ;
221+ provider . start ( ) ;
222222
223- expect ( result . weatherType ) . toBeTruthy ( ) ;
224- } ) ;
223+ const result = await dataPromise ;
224+
225+ expect ( result . weatherType ) . toBeTruthy ( ) ;
226+ } ) ;
225227 } ) ;
226228
227229 describe ( "Forecast Parsing" , ( ) => {
0 commit comments