AutoUpdateManager = require '../src/browser/auto-update-manager' describe "AutoUpdateManager", -> c1 = get: -> c2 = get: -> "major" c3 = get: -> "minor" c4 = get: -> "patch" c5 = get: -> "commit" c6 = get: -> "foo" base = "https://edgehill.nylas.com/update-check?platform=#{process.platform}&version=" beforeEach -> @feedUrl = (version, config) -> m = new AutoUpdateManager(version, config) spyOn(m, "setupAutoUpdater") return m.feedUrl describe "with attached commit version", -> beforeEach -> @v = "3.222.1-abc" it "correctly sets the feedURL", -> expect(@feedUrl(@v, c1)).toBe "#{base}3.222.1-abc&level=patch" expect(@feedUrl(@v, c2)).toBe "#{base}3.222.1-abc&level=major" expect(@feedUrl(@v, c3)).toBe "#{base}3.222.1-abc&level=minor" expect(@feedUrl(@v, c4)).toBe "#{base}3.222.1-abc&level=patch" expect(@feedUrl(@v, c5)).toBe "#{base}3.222.1-abc&level=commit" expect(@feedUrl(@v, c6)).toBe "#{base}3.222.1-abc&level=patch" describe "with no attached commit", -> beforeEach -> @v = "3.222.1" it "correctly sets the feedURL", -> expect(@feedUrl(@v, c1)).toBe "#{base}3.222.1&level=patch" expect(@feedUrl(@v, c2)).toBe "#{base}3.222.1&level=major" expect(@feedUrl(@v, c3)).toBe "#{base}3.222.1&level=minor" expect(@feedUrl(@v, c4)).toBe "#{base}3.222.1&level=patch" expect(@feedUrl(@v, c5)).toBe "#{base}3.222.1&level=commit" expect(@feedUrl(@v, c6)).toBe "#{base}3.222.1&level=patch"