Context("When repo name is valid", func() {
		BeforeEach(func() {
			config.SetPluginRepo(models.PluginRepo{
				Name: "repo1",
				Url:  "http://someserver1.com:1234",
			})

			config.SetPluginRepo(models.PluginRepo{
				Name: "repo2",
				Url:  "http://server2.org:8080",
			})
		})

		It("deletes the repo from the config", func() {
			callRemovePluginRepo("repo1")
			Ω(len(config.PluginRepos())).To(Equal(1))
			Ω(config.PluginRepos()[0].Name).To(Equal("repo2"))
			Ω(config.PluginRepos()[0].Url).To(Equal("http://server2.org:8080"))
		})
	})

	Context("When named repo doesn't exist", func() {
		BeforeEach(func() {
			config.SetPluginRepo(models.PluginRepo{
				Name: "repo1",
				Url:  "http://someserver1.com:1234",
			})

			config.SetPluginRepo(models.PluginRepo{
				Name: "repo2",
				Url:  "http://server2.org:8080",
						}
					]
				}]
			}`)
			})
			testServer = httptest.NewServer(h)
		})

		AfterEach(func() {
			testServer.Close()
		})

		It("saves the repo url into config", func() {
			callAddPluginRepo([]string{"repo", testServer.URL})

			Ω(config.PluginRepos()[0].Name).To(Equal("repo"))
			Ω(config.PluginRepos()[0].Url).To(Equal(testServer.URL))
		})
	})

	Context("repo name already existing", func() {
		BeforeEach(func() {
			config.SetPluginRepo(models.PluginRepo{Name: "repo", Url: "http://repo.com"})
		})

		It("informs user of the already existing repo", func() {

			callAddPluginRepo([]string{"repo", "http://repo2.com"})

			Ω(ui.Outputs).To(ContainSubstrings(
				[]string{"Plugin repo named \"repo\"", " already exists"},