mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-24 20:36:49 +00:00
Add /admin/users/:id/accept_terms_or_service end point
Plus specs
This commit is contained in:
committed by
Konrad
parent
a234f1ace6
commit
ee79fd88d2
@@ -57,6 +57,14 @@ module Spree
|
||||
end
|
||||
end
|
||||
|
||||
def accept_terms_of_services
|
||||
if @user.update(terms_of_service_accepted_at: DateTime.now)
|
||||
head :ok
|
||||
else
|
||||
head :unprocessable_entity
|
||||
end
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def collection
|
||||
|
||||
@@ -48,8 +48,11 @@ Spree::Core::Engine.routes.draw do
|
||||
get '/search/known_users' => "search#known_users", :as => :search_known_users
|
||||
get '/search/customers' => 'search#customers', :as => :search_customers
|
||||
|
||||
resources :users
|
||||
|
||||
resources :users do
|
||||
member do
|
||||
post :accept_terms_of_services
|
||||
end
|
||||
end
|
||||
|
||||
constraints FeatureToggleConstraint.new(:admin_style_v3, negate: true) do
|
||||
# Show old bulk products screen
|
||||
|
||||
@@ -38,4 +38,31 @@ describe Spree::Admin::UsersController do
|
||||
expect(response).to redirect_to('/unauthorized')
|
||||
end
|
||||
end
|
||||
|
||||
describe "#accept_terms_of_services" do
|
||||
let(:user) { create(:user) }
|
||||
|
||||
before do
|
||||
allow(controller).to receive_messages spree_current_user: user
|
||||
user.spree_roles << Spree::Role.find_or_create_by(name: 'admin')
|
||||
end
|
||||
|
||||
it "updates terms_of_service_accepted_at" do
|
||||
spree_post :accept_terms_of_services, id: user.id
|
||||
|
||||
expect(response).to have_http_status(:ok)
|
||||
end
|
||||
|
||||
context "when something goes wrong" do
|
||||
it "returns unprocessable entity" do
|
||||
# mock update to make it fails
|
||||
allow(user).to receive(:update).and_return(false)
|
||||
allow(Spree::User).to receive(:find).and_return(user)
|
||||
|
||||
spree_post :accept_terms_of_services, id: user.id
|
||||
|
||||
expect(response).to have_http_status(:unprocessable_entity)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user