@@ -144,4 +144,71 @@ describe('withSentryConfig', () => {
144144 ) ;
145145 } ) ;
146146 } ) ;
147+
148+ describe ( 'release injection behavior' , ( ) => {
149+ afterEach ( ( ) => {
150+ vi . restoreAllMocks ( ) ;
151+
152+ // clear env to avoid leaking env vars from fixtures
153+ delete exportedNextConfig . env ;
154+ delete process . env . SENTRY_RELEASE ;
155+ } ) ;
156+
157+ it ( 'does not inject release when create is false' , ( ) => {
158+ const sentryOptions = {
159+ release : {
160+ create : false ,
161+ } ,
162+ } ;
163+
164+ // clear env to avoid leaking env vars from fixtures
165+ delete exportedNextConfig . env ;
166+
167+ const finalConfig = materializeFinalNextConfig ( exportedNextConfig , undefined , sentryOptions ) ;
168+
169+ // Should not inject release into environment when create is false
170+ expect ( finalConfig . env ) . not . toHaveProperty ( '_sentryRelease' ) ;
171+ } ) ;
172+
173+ it ( 'injects release when create is true (default)' , ( ) => {
174+ const sentryOptions = {
175+ release : {
176+ create : true ,
177+ name : 'test-release@1.0.0' ,
178+ } ,
179+ } ;
180+
181+ const finalConfig = materializeFinalNextConfig ( exportedNextConfig , undefined , sentryOptions ) ;
182+
183+ // Should inject release into environment when create is true
184+ expect ( finalConfig . env ) . toHaveProperty ( '_sentryRelease' , 'test-release@1.0.0' ) ;
185+ } ) ;
186+
187+ it ( 'injects release with explicit name' , ( ) => {
188+ const sentryOptions = {
189+ release : {
190+ name : 'custom-release-v2.1.0' ,
191+ } ,
192+ } ;
193+
194+ const finalConfig = materializeFinalNextConfig ( exportedNextConfig , undefined , sentryOptions ) ;
195+
196+ // Should inject the explicit release name
197+ expect ( finalConfig . env ) . toHaveProperty ( '_sentryRelease' , 'custom-release-v2.1.0' ) ;
198+ } ) ;
199+
200+ it ( 'falls back to SENTRY_RELEASE environment variable when no explicit name provided' , ( ) => {
201+ process . env . SENTRY_RELEASE = 'env-release-1.5.0' ;
202+
203+ const sentryOptions = {
204+ release : {
205+ create : true ,
206+ } ,
207+ } ;
208+
209+ const finalConfig = materializeFinalNextConfig ( exportedNextConfig , undefined , sentryOptions ) ;
210+
211+ expect ( finalConfig . env ) . toHaveProperty ( '_sentryRelease' , 'env-release-1.5.0' ) ;
212+ } ) ;
213+ } ) ;
147214} ) ;
0 commit comments