 					promise = balena.models.device.getTargetReleaseHash(@device.uuid)
 					m.chai.expect(promise).to.eventually.equal('new-release-commit')
 
-		describe 'balena.models.device.pinToRelease()', ->
-
-			givenMulticontainerApplicationWithADevice(beforeEach)
-
-			it 'should set the device to a specific release, using the device id & release commit', ->
-				balena.models.device.pinToRelease(@device.id, 'old-release-commit')
-				.then =>
-					promise = balena.models.device.getTargetReleaseHash(@device.id)
-					m.chai.expect(promise).to.eventually.equal('old-release-commit')
-				.then =>
-					promise = balena.models.device.isTrackingApplicationRelease(@device.id)
-					m.chai.expect(promise).to.eventually.be.false
-
-			it 'should set the device to a specific release, using the device id & release id', ->
-				balena.models.device.pinToRelease(@device.id, @oldRelease.id)
-				.then =>
-					promise = balena.models.device.getTargetReleaseHash(@device.id)
-					m.chai.expect(promise).to.eventually.equal('old-release-commit')
-				.then =>
-					promise = balena.models.device.isTrackingApplicationRelease(@device.id)
-					m.chai.expect(promise).to.eventually.be.false
-
-			it 'should set the device to a specific release, using the device uuid & release commit', ->
-				balena.models.device.pinToRelease(@device.uuid, 'old-release-commit')
-				.then =>
-					promise = balena.models.device.getTargetReleaseHash(@device.id)
-					m.chai.expect(promise).to.eventually.equal('old-release-commit')
-				.then =>
-					promise = balena.models.device.isTrackingApplicationRelease(@device.id)
-					m.chai.expect(promise).to.eventually.be.false
-
-			it 'should set the device to a specific release, using the device uuid & release id', ->
-				balena.models.device.pinToRelease(@device.uuid, @oldRelease.id)
-				.then =>
-					promise = balena.models.device.getTargetReleaseHash(@device.id)
-					m.chai.expect(promise).to.eventually.equal('old-release-commit')
-				.then =>
-					promise = balena.models.device.isTrackingApplicationRelease(@device.id)
-					m.chai.expect(promise).to.eventually.be.false
-
-		describe 'balena.models.device.trackApplicationRelease()', ->
-
-			givenMulticontainerApplicationWithADevice(beforeEach)
-
-			it 'should set the device to track the current application release, using the device id', ->
-				balena.models.device.pinToRelease(@device.id, 'old-release-commit')
-				.then =>
-					balena.models.device.trackApplicationRelease(@device.id)
-				.then =>
-					promise = balena.models.device.isTrackingApplicationRelease(@device.id)
-					m.chai.expect(promise).to.eventually.be.true
-
-			it 'should set the device to track the current application release, using the device uuid', ->
-				balena.models.device.pinToRelease(@device.id, 'old-release-commit')
-				.then =>
-					balena.models.device.trackApplicationRelease(@device.uuid)
-				.then =>
-					promise = balena.models.device.isTrackingApplicationRelease(@device.id)
-					m.chai.expect(promise).to.eventually.be.true
+		describe 'given a newly registered offline device', ->
+
+			givenADevice(beforeEach)
+
+			describe 'balena.models.device.pinToRelease()', ->
+
+				it 'should set the device to a specific release, using the device id & release commit', ->
+					balena.models.device.pinToRelease(@device.id, 'old-release-commit')
+					.then =>
+						promise = balena.models.device.getTargetReleaseHash(@device.id)
+						m.chai.expect(promise).to.eventually.equal('old-release-commit')
+					.then =>
+						promise = balena.models.device.isTrackingApplicationRelease(@device.id)
+						m.chai.expect(promise).to.eventually.be.false
+
+				it 'should set the device to a specific release, using the device id & release id', ->
+					balena.models.device.pinToRelease(@device.id, @oldRelease.id)
+					.then =>
+						promise = balena.models.device.getTargetReleaseHash(@device.id)
+						m.chai.expect(promise).to.eventually.equal('old-release-commit')
+					.then =>
+						promise = balena.models.device.isTrackingApplicationRelease(@device.id)
+						m.chai.expect(promise).to.eventually.be.false
+
+				it 'should set the device to a specific release, using the device uuid & release commit', ->
+					balena.models.device.pinToRelease(@device.uuid, 'old-release-commit')
+					.then =>
+						promise = balena.models.device.getTargetReleaseHash(@device.id)
+						m.chai.expect(promise).to.eventually.equal('old-release-commit')
+					.then =>
+						promise = balena.models.device.isTrackingApplicationRelease(@device.id)
+						m.chai.expect(promise).to.eventually.be.false
+
+				it 'should set the device to a specific release, using the device uuid & release id', ->
+					balena.models.device.pinToRelease(@device.uuid, @oldRelease.id)
+					.then =>
+						promise = balena.models.device.getTargetReleaseHash(@device.id)
+						m.chai.expect(promise).to.eventually.equal('old-release-commit')
+					.then =>
+						promise = balena.models.device.isTrackingApplicationRelease(@device.id)
+						m.chai.expect(promise).to.eventually.be.false
+
+			describe 'balena.models.device.trackApplicationRelease()', ->
+
+				it 'should set the device to track the current application release, using the device id', ->
+					balena.models.device.pinToRelease(@device.id, 'old-release-commit')
+					.then =>
+						balena.models.device.trackApplicationRelease(@device.id)
+					.then =>
+						promise = balena.models.device.isTrackingApplicationRelease(@device.id)
+						m.chai.expect(promise).to.eventually.be.true
+
+				it 'should set the device to track the current application release, using the device uuid', ->
+					balena.models.device.pinToRelease(@device.id, 'old-release-commit')
+					.then =>
+						balena.models.device.trackApplicationRelease(@device.uuid)
+					.then =>
+						promise = balena.models.device.isTrackingApplicationRelease(@device.id)
+						m.chai.expect(promise).to.eventually.be.true
 
 	describe 'given a single application with a device id whose shorter uuid is only numbers', ->
 

	givenAnApplication
	givenAnApplicationWithADevice
	givenLoggedInUser
	givenMulticontainerApplicationWithADevice
	sdkOpts
	IS_BROWSER
} = require('../setup')

				promise = balena.models.device.getSupervisorState(@device.id)
				m.chai.expect(promise).to.be.rejectedWith('No online device(s) found')

	describe 'given a multicontainer application', ->

		givenMulticontainerApplication(before)

		describe 'given a single offline device', ->

			givenADevice(before)

			describe 'balena.models.device.getWithServiceDetails()', ->

