From 23ce97a3583fedf2b004f9ce87fd92c5f2bcaa17 Mon Sep 17 00:00:00 2001 From: Kevin Sawicki Date: Wed, 22 May 2013 14:22:43 -0700 Subject: [PATCH] Add spec for uninstalling a package --- spec/app/package-config-panel-spec.coffee | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/spec/app/package-config-panel-spec.coffee b/spec/app/package-config-panel-spec.coffee index 693cff586..5cdf4b9e1 100644 --- a/spec/app/package-config-panel-spec.coffee +++ b/spec/app/package-config-panel-spec.coffee @@ -22,9 +22,15 @@ describe "PackageConfigPanel", -> version: '5.8.5' } ] + spyOn(packageManager, 'getAvailable').andCallFake (callback) -> callback(null, packages) + spyOn(packageManager, 'uninstall').andCallFake (pack, callback) -> + callback() + spyOn(atom, 'getAvailablePackageMetadata').andReturn(packages) + spyOn(atom, 'resolvePackagePath').andCallFake (name) -> + "/tmp/atom-packages/#{name}" configObserver = jasmine.createSpy("configObserver") observeSubscription = config.observe('core.disabledPackages', configObserver) @@ -75,6 +81,14 @@ describe "PackageConfigPanel", -> p3View.enableToggle.find('a').click() expect(configObserver).toHaveBeenCalledWith(['p1']) + describe "when Uninstall is clicked", -> + it "removes the package from the tab", -> + expect(panel.installed.find("[name='p1']")).toExist() + p1View = panel.installed.find("[name='p1']").view() + expect(p1View.defaultAction.text()).toBe 'Uninstall' + p1View.defaultAction.click() + expect(panel.installed.find("[name='p1']")).not.toExist() + describe 'Available tab', -> it 'lists all available packages', -> panel.availableLink.click()