blob: 3008ee3c4181514ce3ec8f5d8ac2272fd438b982 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
# frozen_string_literal: true
# == Schema Information
#
# Table name: user_links
#
# id :integer not null, primary key
# aasm_state :string not null
# contacted_at :datetime
# hostname :string
# next_check_at :datetime
# path :string
# public :boolean default(TRUE), not null
# uri :string not null
# verification_code :string not null
# created_at :datetime not null
# updated_at :datetime not null
# contacted_by_user_id :integer
# tag_id :integer
# user_id :integer not null
# verified_by_user_id :integer
#
# Indexes
#
# index_user_links_on_aasm_state (aasm_state)
# index_user_links_on_contacted_by_user_id (contacted_by_user_id)
# index_user_links_on_next_check_at (next_check_at)
# index_user_links_on_tag_id (tag_id)
# index_user_links_on_uri_tag_id_user_id (uri,tag_id,user_id) UNIQUE WHERE ((aasm_state)::text <> 'rejected'::text)
# index_user_links_on_user_id (user_id)
# index_user_links_on_verified_by_user_id (verified_by_user_id)
#
# Foreign Keys
#
# fk_rails_... (contacted_by_user_id => users.id) ON DELETE => nullify ON UPDATE => cascade
# fk_rails_... (tag_id => tags.id) ON DELETE => cascade ON UPDATE => cascade
# fk_rails_... (user_id => users.id) ON DELETE => cascade ON UPDATE => cascade
# fk_rails_... (verified_by_user_id => users.id) ON DELETE => nullify ON UPDATE => cascade
#
require 'test_helper'
class UserLinkTest < ActiveSupport::TestCase
setup do
@user_link = create(:user_link)
end
test 'should transition state properly' do
assert_equal 'unverified', @user_link.aasm_state
@user_link.mark_link_verified!
assert_equal 'link_verified', @user_link.aasm_state
@user_link.mark_contacted!
assert_equal 'contacted', @user_link.aasm_state
@user_link.reject!
assert_equal 'rejected', @user_link.aasm_state
@user_link.mark_verified!
assert_equal 'verified', @user_link.aasm_state
end
end
|