added test and method create

This commit is contained in:
Lou 2022-02-20 22:14:39 +01:00
commit 584c66bcb7
3 changed files with 27 additions and 31 deletions

View file

@ -14,15 +14,16 @@ class Api::V1::MembershipsController < ApplicationController
render json: MembershipSerializer.new(@membership).serializable_hash.to_json
end
# def create
# membership = current_user.memberships.build(membership_params)
def create
membership = current_user.memberships.build(membership_params)
membership.team_id = params[:team_id]
# if membership.save
# render json: MembershipSerializer.new(membership).serializable_hash.to_json, status: :created
# else
# render json: membership.errors, status: :unprocessable_entity
# end
# end
if membership.save
render json: MembershipSerializer.new(membership).serializable_hash.to_json, status: :created
else
render json: membership.errors, status: :unprocessable_entity
end
end
def update
if params[:membership][:can_edit]

View file

@ -47,25 +47,25 @@ class Api::V1::MembershipsControllerTest < ActionDispatch::IntegrationTest
assert_response :forbidden
end
# CREATE
# test "should create membership" do
# assert_difference("Membership.count") do
# post api_v1_memberships_url,
# params: { membership: { team_id: @team2.id, member_id: @user2.id, can_edit: false } },
# headers: { Authorization: JsonWebToken.encode(user_id: @user.id) },
# as: :json
# end
# assert_response :created
# end
#CREATE
test "should create membership" do
assert_difference("Membership.count") do
post api_v1_team_memberships_url(@team),
params: { membership: { can_edit: false, member_id: @user2, team_id: @team } },
headers: { Authorization: JsonWebToken.encode(user_id: @user2.id) },
as: :json
end
assert_response :created
end
# test "should forbid create membership" do
# assert_no_difference("Membership.count") do
# post api_v1_memberships_url,
# params: { membership: { team_id: @team.id, member_id: @user.id, can_edit: false } },
# as: :json
# end
# assert_response :forbidden
# end
test "should forbid create membership" do
assert_no_difference("Membership.count") do
post api_v1_team_memberships_url(@team),
params: { membership: { can_edit: false } },
as: :json
end
assert_response :forbidden
end
# # UPDATE
# test "should update membership" do

View file

@ -8,8 +8,3 @@ one:
team: one
member: one
can_edit: true
two:
team: one
member: two
can_edit: false