javaeye3/script/create_all_notifications.rb

198 lines
5.7 KiB
Ruby

#!/usr/bin/env ruby
ENV['RAILS_ENV'] = 'development'
require File.dirname(__FILE__) + '/../config/environment'
require 'factory_girl'
#require File.dirname(__FILE__) + '/../test/factories'
# 仅开发环境使用!
# 用于生成所有类型消息提醒测试数据的脚本
# 将用户ID设置需要生成消息的用户ID
forum = Forum.first
user = User.find 537045
user.notifications.delete_all
admin = Administrator.first || Factory(:administrator)
# blog_comment
blog = Factory :blog, :user => user
5.times {Factory :blog_comment, :blog => blog}
# blog_comment_other
blog_other = Factory :blog
Factory :blog_comment, :user => user, :blog => blog_other
5.times {Factory :blog_comment, :blog => blog_other}
# blog_deleted
delete_blog = Factory :blog, :user => user
delete_blog.admin_delete!
# blog_to_essence
to_essence_blog = Factory :blog, :user => user
blog_to_essecne = Factory :essence, :source => to_essence_blog, :essence_type => 3
blog_to_essecne.approve_by! admin
# blog_to_news
to_news_blog = Factory :blog, :user => user
blog_to_news = Factory :news, :source => blog, :news_type => 3
blog_to_news.approve_by! admin
# blog_undiggable
undiggable_blog = Factory :blog, :user => user
undiggable_blog.undiggable!
# essence_approve
approve_essence = Factory :essence, :user => user
approve_essence.approve_by! admin
# essence_reject
reject_essence = Factory :essence, :user => user
reject_essence.reject_by! admin, "reason"
# essence_comment
essence = Factory :essence, :user => user
essence.approve_by! admin
5.times {Factory :essence_comment, :essence => essence}
# essence_comment_other
essence_other = Factory :essence
essence_other.approve_by! admin
Factory :essence_comment, :user => user, :essence => essence_other
5.times {Factory :essence_comment, :essence => essence_other}
# group_approve
apply_group = Factory :apply_group, :owner => user
apply_group.approve!
# group_reject
reject_group = Factory :apply_group, :owner => user
reject_group.reject!
# comment page
comment_page = Factory :page, :created_by => user
5.times { Factory :page_comment, :page => comment_page }
# comment other page
comment_other_page = Factory :page
Factory :page_comment, :page => comment_other_page, :user => user
5.times { Factory :page_comment, :page => comment_other_page }
# event_approve
approve_event = Factory :event, :user => user
approve_event.approve
# comment event
comment_event = Factory :event, :user => user
5.times { Factory :event_comment, :event => comment_event }
# comment other event
comment_other_event = Factory :event
Factory :event_comment, :user => user, :event => comment_other_event
5.times { Factory :event_comment, :event => comment_other_event}
# comment other event
comment_member_event = Factory :event
comment_member_event.event_members.create :user => user
5.times { Factory :event_comment, :event => comment_member_event}
# reject event
reject_event = Factory :event, :user => user
reject_event.reject
# group_post
group_topic = Factory :group_topic, :user => user, :group => Group.last
5.times {Factory :group_post, :topic => group_topic}
# group_post_other
group_topic = Factory :group_topic, :group => Group.last
Factory :group_post, :user => user, :topic => group_topic
5.times {Factory :group_post, :topic => group_topic}
# news_approve
approve_news = Factory :news, :user => user
approve_news.approve_by! admin
# news_reject
reject_news = Factory :news, :user => user
reject_news.reject_by! admin, "reason"
# news_comment
news = Factory :news, :user => user
news.approve_by! admin
5.times {Factory :news_comment, :news => news}
# news_comment_other
news_other = Factory :news
news_other.approve_by! admin
Factory :news_comment, :news => news_other, :user => user
5.times {Factory :news_comment, :news => news_other}
# pdf_job
pdf_job = Factory :pdf_job, :user => user
pdf_job.complete!
# problem_accept_solution
problem = Factory :problem
accpet_solution = Factory :solution, :user => user, :problem => problem
accpet_solution.accept('', 10)
# problem_close
close_problem = Factory :problem
Factory :solution, :user => user, :problem => close_problem
close_problem.owner_update('', 0, 'ok')
# problem_extra_score
extra_problem = Factory :problem
Factory :solution, :user => user, :problem => extra_problem
extra_problem.owner_update("", 10)
# problem_solution
problem = Factory :problem, :user => user
5.times {Factory :solution, :problem => problem}
# problem_solution_other
problem_other = Factory :problem
Factory :solution, :problem => problem_other, :user => user
5.times {Factory :solution, :problem => problem_other}
# problem_update
update_problem = Factory :problem
Factory :solution, :user => user, :problem => update_problem
update_problem.owner_update 'update'
# subscription
5.times {Factory :subscription, :subscribed_user => user}
# topic_move_to_forum
move_topic = Factory :topic, :user => user
move_topic.move_to_forum forum.id
# topic_post
topic = Factory :topic, :user => user
5.times {Factory :post, :topic => topic}
# topic_post_other
topic_other = Factory :topic
Factory :post, :topic => topic_other, :user => user
5.times {Factory :post, :topic => topic_other}
# topic_to_ask
ask_topic = Factory :topic, :user => user
ask_topic.move_to_ask
# topic_to_essence
essence_topic = Factory :topic, :user => user
topic_essence = Factory :essence, :source => essence_topic, :essence_type => 2
topic_essence.approve_by! admin
# topic_to_group
group_topic = Factory :topic, :user => user
group_topic.move_to_group(Group.first.id)
# topic_to_news
news_topic = Factory :topic, :user => user
topic_news = Factory :news, :body => news_topic.body, :source => news_topic, :news_type => News::NEWS_TYPE[:original_from_topic]
topic_news.approve_by! admin
# guest_book
Factory :guest_book, :owner => user