11import { resolve } from 'node:path' ;
2- import mock from 'mock-fs' ;
2+ import { readFileSync } from 'node:fs' ;
3+ import { vol } from 'memfs' ;
4+ import { jest , describe , afterEach , it } from '@jest/globals' ;
5+ import { mockFsWithMemfs } from '@sap-cloud-sdk/test-util-build-internal' ;
36import { getNextVersion } from './util.js' ;
47
8+ mockFsWithMemfs ( jest ) ;
9+
10+ const changesetConfig = readFileSync (
11+ resolve ( '..' , '.changeset' , 'config.json' ) ,
12+ 'utf8'
13+ ) ;
14+
515describe ( 'getNextVersion' , ( ) => {
616 afterEach ( ( ) => {
7- mock . restore ( ) ;
17+ vol . reset ( ) ;
818 } ) ;
919 const sharedMock = {
1020 'package.json' :
@@ -17,13 +27,16 @@ describe('getNextVersion', () => {
1727 } ;
1828
1929 it ( 'should make a patch update' , async ( ) => {
20- mock ( {
21- ...sharedMock ,
22- '.changeset' : {
23- 'config.json' : mock . load ( resolve ( '..' , '.changeset' , 'config.json' ) ) ,
24- 'alex.md' : '---\n' + "'@sap-cloud-sdk/connectivity': patch\n" + '---'
25- }
26- } ) ;
30+ vol . fromNestedJSON (
31+ {
32+ ...sharedMock ,
33+ '.changeset' : {
34+ 'config.json' : changesetConfig ,
35+ 'alex.md' : '---\n' + "'@sap-cloud-sdk/connectivity': patch\n" + '---'
36+ }
37+ } ,
38+ process . cwd ( )
39+ ) ;
2740
2841 expect ( await getNextVersion ( ) ) . toEqual ( {
2942 version : '1.2.4' ,
@@ -32,14 +45,17 @@ describe('getNextVersion', () => {
3245 } ) ;
3346
3447 it ( 'should make a minor update' , async ( ) => {
35- mock ( {
36- ...sharedMock ,
37- '.changeset' : {
38- 'config.json' : mock . load ( resolve ( '..' , '.changeset' , 'config.json' ) ) ,
39- 'alex.md' : '---\n' + "'@sap-cloud-sdk/connectivity': patch\n" + '---' ,
40- 'bob.md' : '---\n' + "'@sap-cloud-sdk/connectivity': minor\n" + '---'
41- }
42- } ) ;
48+ vol . fromNestedJSON (
49+ {
50+ ...sharedMock ,
51+ '.changeset' : {
52+ 'config.json' : changesetConfig ,
53+ 'alex.md' : '---\n' + "'@sap-cloud-sdk/connectivity': patch\n" + '---' ,
54+ 'bob.md' : '---\n' + "'@sap-cloud-sdk/connectivity': minor\n" + '---'
55+ }
56+ } ,
57+ process . cwd ( )
58+ ) ;
4359
4460 expect ( await getNextVersion ( ) ) . toEqual ( {
4561 version : '1.3.0' ,
@@ -48,14 +64,17 @@ describe('getNextVersion', () => {
4864 } ) ;
4965
5066 it ( 'should make a major update' , async ( ) => {
51- mock ( {
52- ...sharedMock ,
53- '.changeset' : {
54- 'config.json' : mock . load ( resolve ( '..' , '.changeset' , 'config.json' ) ) ,
55- 'alex.md' : '---\n' + "'@sap-cloud-sdk/connectivity': major\n" + '---' ,
56- 'bob.md' : '---\n' + "'@sap-cloud-sdk/connectivity': minor\n" + '---'
57- }
58- } ) ;
67+ vol . fromNestedJSON (
68+ {
69+ ...sharedMock ,
70+ '.changeset' : {
71+ 'config.json' : changesetConfig ,
72+ 'alex.md' : '---\n' + "'@sap-cloud-sdk/connectivity': major\n" + '---' ,
73+ 'bob.md' : '---\n' + "'@sap-cloud-sdk/connectivity': minor\n" + '---'
74+ }
75+ } ,
76+ process . cwd ( )
77+ ) ;
5978
6079 expect ( await getNextVersion ( ) ) . toEqual ( {
6180 version : '2.0.0' ,
@@ -64,12 +83,13 @@ describe('getNextVersion', () => {
6483 } ) ;
6584
6685 it ( 'should throw an error, when no changesets exist' , async ( ) => {
67- mock ( {
68- ...sharedMock ,
69- '.changeset' : {
70- 'config.json' : mock . load ( resolve ( '..' , '.changeset' , 'config.json' ) )
71- }
72- } ) ;
86+ vol . fromNestedJSON (
87+ {
88+ ...sharedMock ,
89+ '.changeset' : { 'config.json' : changesetConfig }
90+ } ,
91+ process . cwd ( )
92+ ) ;
7393
7494 await expect ( getNextVersion ( ) ) . rejects . toThrow (
7595 'Invalid new version -- the current version: 1.2.3 and the release type: none."'
0 commit comments