mirror of
https://github.com/internetee/registry.git
synced 2025-08-11 12:09:34 +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 UserEvents
|
||||||
include Contact::Transferable
|
include Contact::Transferable
|
||||||
include Contact::Identical
|
include Contact::Identical
|
||||||
include Contact::Disclosable
|
|
||||||
include Contact::Archivable
|
include Contact::Archivable
|
||||||
include EmailVerifable
|
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