                       expect(err).to.not.exist
                       expect(apiToken).to.exist
                       next()
+
+                (next) ->
+                  # create a user with machine and share it with Admin Client
+                  userInfo = generateUserInfo()
+                  createUserAndMachine userInfo, (err, data) ->
+                    expect(err).to.not.exist
+                    { machine } = data
+                    params = { target : [ account.getAt 'profile.nickname' ], asUser : yes }
+                    machine.shareWith params, (err) ->
+                      expect(err).to.not.exist
+                      next()
               ]
 
               async.series createResourcesQueue, next


            (next) ->
              # create a session for AdminAccount to be able to create resources
              JSession = require './session'
              sessionOptions =
                username  : account.getAt 'profile.nickname'
                groupName : group2Slug

              JSession.createNewSession sessionOptions, (err, session) ->
                expect(err).to.not.exist

                adminClient =
                  sessionToken : session.clientId
                  context      : { group: group2Slug }
                  clientIP     : '127.0.0.1'
                  connection   :
                    delegate   : account

                next()

            (next) ->
              # creating resources for group2 for adminAccount
              createResourcesQueue = [
                (next) ->
                  provider = 'aws'

                  options =
                    meta     : generateMetaData provider
                    title    : 'someCredentialTitle'
                    provider : provider

                  options.meta.foobar = '  trim this white space   '
                  JCredential.create adminClient, options, (err, credential) ->
                    expect(err).to.not.exist
                    expect(credential).to.exist
                    next()

                (next) ->
                  stackTemplateData = generateStackTemplateData adminClient
                  JStackTemplate.create adminClient, stackTemplateData, (err, template) ->
                    expect(err).to.not.exist
                    expect(template).to.exist

                    next()

                (next) ->
                  stackTemplate.generateStack adminClient, {}, (err, res) ->
                    { stack, results: { machines } } = res
                    expect(err).to.not.exist
                    expect(machines).to.exist
                    expect(machines[0].err).to.not.exist
                    expect(machines[0].obj).to.exist
                    expect(stack).to.exist
                    next()

