diff options
Diffstat (limited to 'spec/factories')
-rw-r--r-- | spec/factories/comments.rb | 19 | ||||
-rw-r--r-- | spec/factories/foi_attchments.rb | 21 | ||||
-rw-r--r-- | spec/factories/incoming_messages.rb | 46 | ||||
-rw-r--r-- | spec/factories/info_request_batches.rb | 9 | ||||
-rw-r--r-- | spec/factories/info_requests.rb | 47 | ||||
-rw-r--r-- | spec/factories/outgoing_messages.rb | 29 | ||||
-rw-r--r-- | spec/factories/public_bodies.rb | 12 | ||||
-rw-r--r-- | spec/factories/public_body_change_requests.rb | 16 | ||||
-rw-r--r-- | spec/factories/raw_emails.rb | 5 | ||||
-rw-r--r-- | spec/factories/spam_addresses.rb | 5 | ||||
-rw-r--r-- | spec/factories/track_things.rb | 30 | ||||
-rw-r--r-- | spec/factories/users.rb | 16 |
12 files changed, 255 insertions, 0 deletions
diff --git a/spec/factories/comments.rb b/spec/factories/comments.rb new file mode 100644 index 000000000..1e0861dad --- /dev/null +++ b/spec/factories/comments.rb @@ -0,0 +1,19 @@ +FactoryGirl.define do + + factory :comment do + user + info_request + + body 'This a wise and helpful annotation.' + comment_type 'request' + + factory :visible_comment do + visible true + end + + factory :hidden_comment do + visible false + end + end + +end diff --git a/spec/factories/foi_attchments.rb b/spec/factories/foi_attchments.rb new file mode 100644 index 000000000..4e9875a00 --- /dev/null +++ b/spec/factories/foi_attchments.rb @@ -0,0 +1,21 @@ +FactoryGirl.define do + + factory :foi_attachment do + factory :body_text do + content_type 'text/plain' + body { 'hereisthetext' } + filename 'attachment.txt' + end + factory :pdf_attachment do + content_type 'application/pdf' + filename 'interesting.pdf' + body { load_file_fixture('interesting.pdf') } + end + factory :rtf_attachment do + content_type 'application/rtf' + filename 'interesting.rtf' + body { load_file_fixture('interesting.rtf') } + end + end + +end diff --git a/spec/factories/incoming_messages.rb b/spec/factories/incoming_messages.rb new file mode 100644 index 000000000..38ad98394 --- /dev/null +++ b/spec/factories/incoming_messages.rb @@ -0,0 +1,46 @@ +FactoryGirl.define do + + factory :incoming_message do + info_request + raw_email + last_parsed { 1.week.ago } + sent_at { 1.week.ago } + + after_create do |incoming_message, evaluator| + FactoryGirl.create(:body_text, + :incoming_message => incoming_message, + :url_part_number => 1) + end + + factory :plain_incoming_message do + last_parsed { nil } + sent_at { nil } + after_create do |incoming_message, evaluator| + data = load_file_fixture('incoming-request-plain.email') + data.gsub!('EMAIL_FROM', 'Bob Responder <bob@example.com>') + incoming_message.raw_email.data = data + incoming_message.raw_email.save! + end + end + + factory :incoming_message_with_attachments do + # foi_attachments_count is declared as an ignored attribute and available in + # attributes on the factory, as well as the callback via the evaluator + ignore do + foi_attachments_count 2 + end + + # the after(:create) yields two values; the incoming_message instance itself and the + # evaluator, which stores all values from the factory, including ignored + # attributes; + after_create do |incoming_message, evaluator| + evaluator.foi_attachments_count.times do |count| + FactoryGirl.create(:pdf_attachment, + :incoming_message => incoming_message, + :url_part_number => count+2) + end + end + end + end + +end diff --git a/spec/factories/info_request_batches.rb b/spec/factories/info_request_batches.rb new file mode 100644 index 000000000..960db6ec5 --- /dev/null +++ b/spec/factories/info_request_batches.rb @@ -0,0 +1,9 @@ +FactoryGirl.define do + + factory :info_request_batch do + title "Example title" + user + body "Some text" + end + +end diff --git a/spec/factories/info_requests.rb b/spec/factories/info_requests.rb new file mode 100644 index 000000000..8052625cd --- /dev/null +++ b/spec/factories/info_requests.rb @@ -0,0 +1,47 @@ +FactoryGirl.define do + + factory :info_request do + title "Example Title" + public_body + user + + after_create do |info_request, evaluator| + FactoryGirl.create(:initial_request, :info_request => info_request) + end + + factory :info_request_with_incoming do + after_create do |info_request, evaluator| + incoming_message = FactoryGirl.create(:incoming_message, :info_request => info_request) + info_request.log_event("response", {:incoming_message_id => incoming_message.id}) + end + end + + factory :info_request_with_plain_incoming do + after_create do |info_request, evaluator| + incoming_message = FactoryGirl.create(:plain_incoming_message, :info_request => info_request) + info_request.log_event("response", {:incoming_message_id => incoming_message.id}) + end + end + + factory :info_request_with_incoming_attachments do + after_create do |info_request, evaluator| + incoming_message = FactoryGirl.create(:incoming_message_with_attachments, :info_request => info_request) + info_request.log_event("response", {:incoming_message_id => incoming_message.id}) + end + end + + factory :info_request_with_internal_review_request do + after_create do |info_request, evaluator| + outgoing_message = FactoryGirl.create(:internal_review_request, :info_request => info_request) + end + end + + factory :external_request do + user nil + external_user_name 'External User' + external_url 'http://www.example.org/request/external' + end + + end + +end diff --git a/spec/factories/outgoing_messages.rb b/spec/factories/outgoing_messages.rb new file mode 100644 index 000000000..d1ed25093 --- /dev/null +++ b/spec/factories/outgoing_messages.rb @@ -0,0 +1,29 @@ +FactoryGirl.define do + + factory :outgoing_message do + factory :initial_request do + ignore do + status 'ready' + message_type 'initial_request' + body 'Some information please' + what_doing 'normal_sort' + end + end + factory :internal_review_request do + ignore do + status 'ready' + message_type 'followup' + body 'I want a review' + what_doing 'internal_review' + end + end + initialize_with { OutgoingMessage.new({ :status => status, + :message_type => message_type, + :body => body, + :what_doing => what_doing }) } + after_create do |outgoing_message| + outgoing_message.send_message + end + end + +end diff --git a/spec/factories/public_bodies.rb b/spec/factories/public_bodies.rb new file mode 100644 index 000000000..44769f7c2 --- /dev/null +++ b/spec/factories/public_bodies.rb @@ -0,0 +1,12 @@ +FactoryGirl.define do + + factory :public_body do + sequence(:name) { |n| "Example Public Body #{n}" } + sequence(:short_name) { |n| "Example Body #{n}" } + request_email 'request@example.com' + last_edit_editor "admin user" + last_edit_comment "Making an edit" + end + + +end diff --git a/spec/factories/public_body_change_requests.rb b/spec/factories/public_body_change_requests.rb new file mode 100644 index 000000000..2bacb9b9b --- /dev/null +++ b/spec/factories/public_body_change_requests.rb @@ -0,0 +1,16 @@ +FactoryGirl.define do + + factory :public_body_change_request do + user + source_url 'http://www.example.com' + notes 'Please' + public_body_email 'new@example.com' + factory :add_body_request do + public_body_name 'A New Body' + end + factory :update_body_request do + public_body + end + end + +end diff --git a/spec/factories/raw_emails.rb b/spec/factories/raw_emails.rb new file mode 100644 index 000000000..30fb24c37 --- /dev/null +++ b/spec/factories/raw_emails.rb @@ -0,0 +1,5 @@ +FactoryGirl.define do + + factory :raw_email + +end diff --git a/spec/factories/spam_addresses.rb b/spec/factories/spam_addresses.rb new file mode 100644 index 000000000..bafb7cd50 --- /dev/null +++ b/spec/factories/spam_addresses.rb @@ -0,0 +1,5 @@ +FactoryGirl.define do + factory :spam_address do + sequence(:email) { |n| "spam-#{ n }@example.org" } + end +end diff --git a/spec/factories/track_things.rb b/spec/factories/track_things.rb new file mode 100644 index 000000000..cf76b00b3 --- /dev/null +++ b/spec/factories/track_things.rb @@ -0,0 +1,30 @@ +FactoryGirl.define do + + factory :track_thing do + association :tracking_user, :factory => :user + factory :search_track do + track_medium 'email_daily' + track_type 'search_query' + track_query 'Example Query' + end + factory :user_track do + association :tracked_user, :factory => :user + track_type 'user_updates' + end + factory :public_body_track do + association :public_body, :factory => :public_body + track_type 'public_body_updates' + end + factory :request_update_track do + association :info_request, :factory => :info_request + track_type 'request_updates' + end + factory :successful_request_track do + track_type 'all_successful_requests' + end + factory :new_request_track do + track_type 'all_new_requests' + end + end + +end diff --git a/spec/factories/users.rb b/spec/factories/users.rb new file mode 100644 index 000000000..ab782fbf7 --- /dev/null +++ b/spec/factories/users.rb @@ -0,0 +1,16 @@ +FactoryGirl.define do + + factory :user do + name 'Example User' + sequence(:email) { |n| "person#{n}@example.com" } + salt "-6116981980.392287733335677" + hashed_password '6b7cd45a5f35fd83febc0452a799530398bfb6e8' # jonespassword + email_confirmed true + ban_text "" + factory :admin_user do + name 'Admin User' + admin_level 'super' + end + end + +end |