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])) })