1
1
import { FOTAJobTarget } from '@hello.nrfcloud.com/proto/hello'
2
2
import assert from 'node:assert/strict'
3
- import { describe , it } from 'node:test'
3
+ import test , { describe , it } from 'node:test'
4
4
import { getNextUpgrade } from './getNextUpgrade.ts'
5
5
6
6
void describe ( 'getNextUpgrade()' , ( ) => {
7
7
void it ( 'should return the next upgrade based on a static version' , ( ) =>
8
8
assert . deepEqual (
9
9
getNextUpgrade (
10
- {
11
- '2.0.0' : 'APP*1e29dfa3*v2.0.1' ,
12
- '2.0.1' : 'APP*cd5412d9*v2.0.2' ,
13
- } ,
10
+ { '2.0.0' : 'APP*1e29dfa3*v2.0.1' , '2.0.1' : 'APP*cd5412d9*v2.0.2' } ,
14
11
{
15
12
appVersion : '2.0.0' ,
16
13
supportedFOTATypes : [ FOTAJobTarget . application ] ,
@@ -26,22 +23,44 @@ void describe('getNextUpgrade()', () => {
26
23
} ,
27
24
) )
28
25
29
- void it ( 'should return the next upgrade based on a range' , ( ) =>
26
+ void describe ( 'should return the next upgrade based on a range' , ( ) => {
27
+ for ( const range of [ '>=1.0.0' , '<2.0.1' ] ) {
28
+ void test ( range , ( ) =>
29
+ assert . deepEqual (
30
+ getNextUpgrade (
31
+ { [ range ] : 'APP*1e29dfa3*v2.0.1' } ,
32
+ {
33
+ appVersion : '2.0.0' ,
34
+ supportedFOTATypes : [ FOTAJobTarget . application ] ,
35
+ mfwVersion : '1.3.6' ,
36
+ } ,
37
+ ) ,
38
+ {
39
+ upgrade : {
40
+ reportedVersion : '2.0.0' ,
41
+ bundleId : 'APP*1e29dfa3*v2.0.1' ,
42
+ target : FOTAJobTarget . application ,
43
+ } ,
44
+ } ,
45
+ ) ,
46
+ )
47
+ }
48
+ } )
49
+
50
+ void it ( 'should return null in case of no upgrade' , ( ) =>
30
51
assert . deepEqual (
31
52
getNextUpgrade (
53
+ { '<2.0.1' : 'APP*1e29dfa3*v2.0.1' } ,
32
54
{
33
- '>=1.0.0' : 'APP*1e29dfa3*v2.0.1' ,
34
- } ,
35
- {
36
- appVersion : '2.0.0' ,
55
+ appVersion : '2.0.1' ,
37
56
supportedFOTATypes : [ FOTAJobTarget . application ] ,
38
57
mfwVersion : '1.3.6' ,
39
58
} ,
40
59
) ,
41
60
{
42
61
upgrade : {
43
- reportedVersion : '2.0.0 ' ,
44
- bundleId : 'APP*1e29dfa3*v2.0.1' ,
62
+ reportedVersion : '2.0.1 ' ,
63
+ bundleId : null ,
45
64
target : FOTAJobTarget . application ,
46
65
} ,
47
66
} ,
0 commit comments