request = handlers.NewTestRequest(route)

			routesHandler.Delete(responseRecorder, request)

			_, permission := token.DecodeTokenArgsForCall(0)
			Expect(permission).To(ConsistOf(handlers.AdvertiseRouteScope, handlers.AdminRouteScope))
		})

		Context("when all inputs are present and correct", func() {
			It("returns a status not found when deleting a route", func() {
				request = handlers.NewTestRequest(route)

				routesHandler.Delete(responseRecorder, request)

				Expect(responseRecorder.Code).To(Equal(http.StatusNoContent))
				Expect(database.DeleteRouteCallCount()).To(Equal(1))
				Expect(database.DeleteRouteArgsForCall(0)).To(Equal(route[0]))
			})

			It("accepts an array of routes in the body", func() {
				route = append(route, route[0])
				route[1].IP = "5.4.3.2"

				request = handlers.NewTestRequest(route)
				routesHandler.Delete(responseRecorder, request)

				Expect(responseRecorder.Code).To(Equal(http.StatusNoContent))
				Expect(database.DeleteRouteCallCount()).To(Equal(2))
				Expect(database.DeleteRouteArgsForCall(0)).To(Equal(route[0]))
				Expect(database.DeleteRouteArgsForCall(1)).To(Equal(route[1]))
			})