require 'helper' class AxleAttributes::ProvidedTest < ActiveSupport::TestCase test 'provided on write' do business = Business.new assert_equal [], business.provided business.name = "foo" assert_equal ['name'].to_set, business.provided_set assert_equal ['name'], business.provided assert business.name_provided? assert business.provided?('name') refute business.street_provided? refute business.provided?('street') end test 'without_provided_tracking' do business = Business.new Business.without_provided_tracking do business.name = "foo" end refute business.name_provided? end test 'provided cleared' do Business.new(name: 'foo').tap do |business| business.name = 'bar' business.save assert_equal [], business.provided end Business.new(name: 'foo').tap do |business| business.name = 'bar' business.save! assert_equal [], business.provided end Business.create(name: 'foo').tap do |business| business.name = 'bar' business.reload assert_equal [], business.provided end end end