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

					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 single application with a device id whose shorter uuid is only numbers', ->


				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()', ->

