mirror of
https://github.com/internetee/registry.git
synced 2025-07-30 14:36:22 +02:00
Merge pull request #2355 from internetee/2340-fix-contact-update-fails
Deleted disclosable concern from contact
This commit is contained in:
commit
364954ecfa
3 changed files with 0 additions and 62 deletions
|
@ -1,22 +0,0 @@
|
|||
module Contact::Disclosable
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
class_methods do
|
||||
attr_accessor :disclosable_attributes
|
||||
end
|
||||
|
||||
included do
|
||||
self.disclosable_attributes = %w[name email]
|
||||
validate :validate_disclosed_attributes
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def validate_disclosed_attributes
|
||||
return if disclosed_attributes.empty?
|
||||
|
||||
has_undisclosable_attributes = (disclosed_attributes - self.class.disclosable_attributes)
|
||||
.any?
|
||||
errors.add(:disclosed_attributes, :invalid) if has_undisclosable_attributes
|
||||
end
|
||||
end
|
|
@ -7,7 +7,6 @@ class Contact < ApplicationRecord
|
|||
include UserEvents
|
||||
include Contact::Transferable
|
||||
include Contact::Identical
|
||||
include Contact::Disclosable
|
||||
include Contact::Archivable
|
||||
include EmailVerifable
|
||||
|
||||
|
|
|
@ -1,39 +0,0 @@
|
|||
require 'test_helper'
|
||||
|
||||
class ContactDisclosableTest < ActiveSupport::TestCase
|
||||
setup do
|
||||
@contact = contacts(:john)
|
||||
@original_disclosable_attributes = Contact.disclosable_attributes
|
||||
end
|
||||
|
||||
teardown do
|
||||
Contact.disclosable_attributes = @original_disclosable_attributes
|
||||
end
|
||||
|
||||
def test_no_disclosed_attributes_by_default
|
||||
assert_empty Contact.new.disclosed_attributes
|
||||
end
|
||||
|
||||
def test_disclosable_attributes
|
||||
assert_equal %w[name email], Contact.disclosable_attributes
|
||||
end
|
||||
|
||||
def test_valid_without_disclosed_attributes
|
||||
@contact.disclosed_attributes = []
|
||||
assert @contact.valid?
|
||||
end
|
||||
|
||||
def test_invalid_when_attribute_is_not_disclosable
|
||||
Contact.disclosable_attributes = %w[some disclosable]
|
||||
@contact.disclosed_attributes = %w[some undisclosable]
|
||||
|
||||
assert @contact.invalid?
|
||||
assert_includes @contact.errors[:disclosed_attributes], 'contain unsupported attribute(s)'
|
||||
end
|
||||
|
||||
def test_valid_when_attribute_is_disclosable
|
||||
Contact.disclosable_attributes = %w[some disclosable]
|
||||
@contact.disclosed_attributes = %w[disclosable]
|
||||
assert @contact.valid?
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue