         # By changing showGroupOnRemoveListCondition from default 'never' to
         # 'some-member-was-loaded', we can test removal of group.
         setConfig('showGroupOnRemoveListCondition', 'some-member-was-loaded')
-        loadUserConfig()
+
+        waitsForPromise ->
+          loadUserConfig().then ->
+            expect(view.getItemsForGroups()).toHaveLength(2)
 
       it "add/remove set of project defined in groups", ->
         dispatchCommand(workspaceElement, 'project-folder:add')

            ]
          """
        userConfigEditor.save()
        expect(view.groups).not.toBe(null)

      beforeEach ->
        setConfig('gitProjectDirectories', [gitRoot])

        expect(userConfigEditor.getPath()).toBe(configPath)

      it "load config on save", ->
        runs ->
          dispatchCommand(workspaceElement, 'project-folder:add')
          expect(view).toHaveClass('add')

          ensureSelectListItems [
            itemDirNormalDir1
            itemDirNormalDir2
          ]

          view.cancel()
          expect(view.getItemsForGroups()).toEqual([])
          userConfigEditor.setText """
            groups:
              atom: [
                "~/github/atom.org"
                "~/github/text-buffer"
                "~/github/atom-keymap"
              ]
              hello: [
                "~/dir/hello-project"
                "~/dir/world-project"
              ]
            """

        waitsForPromise ->
          Promise.resolve(userConfigEditor.save())

        runs ->
          itemGroupAtom =
            name: 'atom'
            dirs: ["~/github/atom.org", "~/github/text-buffer", "~/github/atom-keymap"].map(normalize)

          itemGroupHello =
            name: 'hello'
            dirs: ["~/dir/hello-project", "~/dir/world-project"].map(normalize)

          expect(view.getItemsForGroups()).toEqual [
            itemGroupAtom
            itemGroupHello
          ]

          dispatchCommand(workspaceElement, 'project-folder:add')
          expect(view).toHaveClass('add')
          ensureSelectListItems [
            itemGroupAtom
            itemGroupHello
            itemDirNormalDir1
            itemDirNormalDir2
          ]

    describe "add/remove groups of project", ->
      loadUserConfig = ->
