|
@@ -5,7 +5,7 @@ class ActivityStreamTest < ActiveSupport::TestCase
|
|
admin_user = nil
|
|
admin_user = nil
|
|
current_user = nil
|
|
current_user = nil
|
|
test 'aaa - setup' do
|
|
test 'aaa - setup' do
|
|
- role = Role.lookup(name: 'Admin')
|
|
|
|
|
|
+ roles = Role.where(name: %w(Admin Agent))
|
|
group = Group.lookup(name: 'Users')
|
|
group = Group.lookup(name: 'Users')
|
|
admin_user = User.create_or_update(
|
|
admin_user = User.create_or_update(
|
|
login: 'admin',
|
|
login: 'admin',
|
|
@@ -14,7 +14,7 @@ class ActivityStreamTest < ActiveSupport::TestCase
|
|
email: 'bob@example.com',
|
|
email: 'bob@example.com',
|
|
password: 'some_pass',
|
|
password: 'some_pass',
|
|
active: true,
|
|
active: true,
|
|
- role_ids: [role.id],
|
|
|
|
|
|
+ roles: roles,
|
|
group_ids: [group.id],
|
|
group_ids: [group.id],
|
|
updated_by_id: 1,
|
|
updated_by_id: 1,
|
|
created_by_id: 1
|
|
created_by_id: 1
|
|
@@ -23,377 +23,191 @@ class ActivityStreamTest < ActiveSupport::TestCase
|
|
end
|
|
end
|
|
|
|
|
|
test 'ticket+user' do
|
|
test 'ticket+user' do
|
|
- tests = [
|
|
|
|
-
|
|
|
|
- # test 1
|
|
|
|
- {
|
|
|
|
- create: {
|
|
|
|
- ticket: {
|
|
|
|
- group_id: Group.lookup(name: 'Users').id,
|
|
|
|
- customer_id: current_user.id,
|
|
|
|
- owner_id: User.lookup(login: '-').id,
|
|
|
|
- title: 'Unit Test 1 (äöüß)!',
|
|
|
|
- state_id: Ticket::State.lookup(name: 'new').id,
|
|
|
|
- priority_id: Ticket::Priority.lookup(name: '2 normal').id,
|
|
|
|
- updated_by_id: current_user.id,
|
|
|
|
- created_by_id: current_user.id,
|
|
|
|
- },
|
|
|
|
- article: {
|
|
|
|
- updated_by_id: current_user.id,
|
|
|
|
- created_by_id: current_user.id,
|
|
|
|
- type_id: Ticket::Article::Type.lookup(name: 'phone').id,
|
|
|
|
- sender_id: Ticket::Article::Sender.lookup(name: 'Customer').id,
|
|
|
|
- from: 'Unit Test <unittest@example.com>',
|
|
|
|
- body: 'Unit Test 123',
|
|
|
|
- internal: false,
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
- update: {
|
|
|
|
- ticket: {
|
|
|
|
- title: 'Unit Test 1 (äöüß) - update!',
|
|
|
|
- state_id: Ticket::State.lookup(name: 'open').id,
|
|
|
|
- priority_id: Ticket::Priority.lookup(name: '1 low').id,
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
- update2: {
|
|
|
|
- ticket: {
|
|
|
|
- title: 'Unit Test 2 (äöüß) - update!',
|
|
|
|
- priority_id: Ticket::Priority.lookup(name: '2 normal').id,
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
- check: [
|
|
|
|
- {
|
|
|
|
- result: true,
|
|
|
|
- object: 'Ticket',
|
|
|
|
- type: 'update',
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- result: true,
|
|
|
|
- object: 'Ticket::Article',
|
|
|
|
- type: 'create',
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- result: true,
|
|
|
|
- object: 'Ticket',
|
|
|
|
- type: 'create',
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- result: false,
|
|
|
|
- object: 'User',
|
|
|
|
- type: 'update',
|
|
|
|
- o_id: current_user.id,
|
|
|
|
- },
|
|
|
|
- ]
|
|
|
|
- },
|
|
|
|
- ]
|
|
|
|
- tickets = []
|
|
|
|
- tests.each { |test|
|
|
|
|
-
|
|
|
|
- ticket = Ticket.create(test[:create][:ticket])
|
|
|
|
- test[:check][0][:o_id] = ticket.id
|
|
|
|
- test[:check][2][:o_id] = ticket.id
|
|
|
|
- test[:check][2][:created_at] = ticket.created_at
|
|
|
|
- test[:check][2][:created_by_id] = current_user.id
|
|
|
|
- travel 2.seconds
|
|
|
|
-
|
|
|
|
- test[:create][:article][:ticket_id] = ticket.id
|
|
|
|
- article = Ticket::Article.create(test[:create][:article])
|
|
|
|
- test[:check][1][:o_id] = article.id
|
|
|
|
- test[:check][1][:created_at] = article.created_at
|
|
|
|
- test[:check][1][:created_by_id] = current_user.id
|
|
|
|
-
|
|
|
|
- assert_equal(ticket.class.to_s, 'Ticket')
|
|
|
|
- assert_equal(article.class.to_s, 'Ticket::Article')
|
|
|
|
-
|
|
|
|
- # update ticket
|
|
|
|
- if test[:update][:ticket]
|
|
|
|
- ticket.update_attributes(test[:update][:ticket])
|
|
|
|
-
|
|
|
|
- # check updated user
|
|
|
|
- test[:check][3][:o_id] = current_user.id
|
|
|
|
- test[:check][3][:created_at] = ticket.created_at
|
|
|
|
- test[:check][3][:created_by_id] = current_user.id
|
|
|
|
- end
|
|
|
|
- if test[:update2][:ticket]
|
|
|
|
- ticket = Ticket.find(ticket.id)
|
|
|
|
- ticket.update_attributes(test[:update2][:ticket])
|
|
|
|
- end
|
|
|
|
- if test[:update][:article]
|
|
|
|
- article.update_attributes(test[:update][:article])
|
|
|
|
- end
|
|
|
|
-
|
|
|
|
- travel 1.second
|
|
|
|
- if test[:update][:ticket]
|
|
|
|
- ticket.update_attributes(test[:update][:ticket])
|
|
|
|
- end
|
|
|
|
- if test[:update2][:ticket]
|
|
|
|
- ticket.update_attributes(test[:update2][:ticket])
|
|
|
|
- end
|
|
|
|
|
|
+ ticket = Ticket.create(
|
|
|
|
+ group_id: Group.lookup(name: 'Users').id,
|
|
|
|
+ customer_id: current_user.id,
|
|
|
|
+ owner_id: User.lookup(login: '-').id,
|
|
|
|
+ title: 'Unit Test 1 (äöüß)!',
|
|
|
|
+ state_id: Ticket::State.lookup(name: 'new').id,
|
|
|
|
+ priority_id: Ticket::Priority.lookup(name: '2 normal').id,
|
|
|
|
+ updated_by_id: current_user.id,
|
|
|
|
+ created_by_id: current_user.id,
|
|
|
|
+ )
|
|
|
|
+ travel 2.seconds
|
|
|
|
+
|
|
|
|
+ article = Ticket::Article.create(
|
|
|
|
+ ticket_id: ticket.id,
|
|
|
|
+ updated_by_id: current_user.id,
|
|
|
|
+ created_by_id: current_user.id,
|
|
|
|
+ type_id: Ticket::Article::Type.lookup(name: 'phone').id,
|
|
|
|
+ sender_id: Ticket::Article::Sender.lookup(name: 'Customer').id,
|
|
|
|
+ from: 'Unit Test <unittest@example.com>',
|
|
|
|
+ body: 'Unit Test 123',
|
|
|
|
+ internal: false,
|
|
|
|
+ )
|
|
|
|
|
|
- # remember ticket
|
|
|
|
- tickets.push ticket
|
|
|
|
|
|
+ travel 100.seconds
|
|
|
|
+ ticket.update_attributes(
|
|
|
|
+ title: 'Unit Test 1 (äöüß) - update!',
|
|
|
|
+ state_id: Ticket::State.lookup(name: 'open').id,
|
|
|
|
+ priority_id: Ticket::Priority.lookup(name: '1 low').id,
|
|
|
|
+ )
|
|
|
|
+ updated_at = ticket.updated_at
|
|
|
|
|
|
- # check activity_stream
|
|
|
|
- activity_stream_check(admin_user.activity_stream(3), test[:check])
|
|
|
|
- }
|
|
|
|
|
|
+ travel 1.second
|
|
|
|
+ ticket.update_attributes(
|
|
|
|
+ title: 'Unit Test 2 (äöüß) - update!',
|
|
|
|
+ priority_id: Ticket::Priority.lookup(name: '2 normal').id,
|
|
|
|
+ )
|
|
|
|
|
|
- # delete tickets
|
|
|
|
- tickets.each { |ticket|
|
|
|
|
- ticket_id = ticket.id
|
|
|
|
- ticket.destroy
|
|
|
|
- found = Ticket.where(id: ticket_id).first
|
|
|
|
- assert_not(found, 'Ticket destroyed')
|
|
|
|
- }
|
|
|
|
|
|
+ # check activity_stream
|
|
|
|
+ stream = admin_user.activity_stream(4)
|
|
|
|
+ assert_equal(stream[0]['group_id'], ticket.group_id)
|
|
|
|
+ assert_equal(stream[0]['o_id'], ticket.id)
|
|
|
|
+ assert_equal(stream[0]['created_by_id'], current_user.id)
|
|
|
|
+ assert_equal(stream[0]['created_at'].to_s, updated_at.to_s)
|
|
|
|
+ assert_equal(stream[0]['object'], 'Ticket')
|
|
|
|
+ assert_equal(stream[0]['type'], 'update')
|
|
|
|
+ assert_equal(stream[1]['group_id'], ticket.group_id)
|
|
|
|
+ assert_equal(stream[1]['o_id'], article.id)
|
|
|
|
+ assert_equal(stream[1]['created_by_id'], current_user.id)
|
|
|
|
+ assert_equal(stream[1]['created_at'].to_s, article.created_at.to_s)
|
|
|
|
+ assert_equal(stream[1]['object'], 'Ticket::Article')
|
|
|
|
+ assert_equal(stream[1]['type'], 'create')
|
|
|
|
+ assert_equal(stream[2]['group_id'], ticket.group_id)
|
|
|
|
+ assert_equal(stream[2]['o_id'], ticket.id)
|
|
|
|
+ assert_equal(stream[2]['created_by_id'], current_user.id)
|
|
|
|
+ assert_equal(stream[2]['created_at'].to_s, ticket.created_at.to_s)
|
|
|
|
+ assert_equal(stream[2]['object'], 'Ticket')
|
|
|
|
+ assert_equal(stream[2]['type'], 'create')
|
|
|
|
+ assert_not(stream[3])
|
|
|
|
+
|
|
|
|
+ stream = current_user.activity_stream(4)
|
|
|
|
+ assert(stream.empty?)
|
|
|
|
+
|
|
|
|
+ # cleanup
|
|
|
|
+ ticket.destroy
|
|
|
|
+ travel_back
|
|
end
|
|
end
|
|
|
|
|
|
test 'organization' do
|
|
test 'organization' do
|
|
- tests = [
|
|
|
|
-
|
|
|
|
- # test 1
|
|
|
|
- {
|
|
|
|
- create: {
|
|
|
|
- organization: {
|
|
|
|
- name: 'some name',
|
|
|
|
- updated_by_id: current_user.id,
|
|
|
|
- created_by_id: current_user.id,
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
- update1: {
|
|
|
|
- organization: {
|
|
|
|
- name: 'some name (äöüß)',
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
- update2: {
|
|
|
|
- organization: {
|
|
|
|
- name: 'some name 2 (äöüß)',
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
- check: [
|
|
|
|
- {
|
|
|
|
- result: true,
|
|
|
|
- object: 'Organization',
|
|
|
|
- type: 'update',
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- result: true,
|
|
|
|
- object: 'Organization',
|
|
|
|
- type: 'create',
|
|
|
|
- },
|
|
|
|
- ]
|
|
|
|
- },
|
|
|
|
- ]
|
|
|
|
- organizations = []
|
|
|
|
- tests.each { |test|
|
|
|
|
-
|
|
|
|
- organization = Organization.create(test[:create][:organization])
|
|
|
|
- test[:check][0][:o_id] = organization.id
|
|
|
|
- test[:check][0][:created_at] = organization.created_at
|
|
|
|
- test[:check][0][:created_by_id] = current_user.id
|
|
|
|
- travel 2.seconds
|
|
|
|
-
|
|
|
|
- assert_equal(organization.class.to_s, 'Organization')
|
|
|
|
-
|
|
|
|
- if test[:update1][:organization]
|
|
|
|
- organization.update_attributes(test[:update1][:organization])
|
|
|
|
- test[:check][1][:o_id] = organization.id
|
|
|
|
- test[:check][1][:updated_at] = organization.updated_at
|
|
|
|
- test[:check][1][:created_by_id] = current_user.id
|
|
|
|
- travel 1.second
|
|
|
|
- end
|
|
|
|
|
|
|
|
- if test[:update2][:organization]
|
|
|
|
- organization.update_attributes(test[:update2][:organization])
|
|
|
|
- end
|
|
|
|
-
|
|
|
|
- # remember organization
|
|
|
|
- organizations.push organization
|
|
|
|
-
|
|
|
|
- # check activity_stream
|
|
|
|
- activity_stream_check(admin_user.activity_stream(2), test[:check])
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- # delete tickets
|
|
|
|
- organizations.each { |organization|
|
|
|
|
- organization_id = organization.id
|
|
|
|
- organization.destroy
|
|
|
|
- found = Organization.where(id: organization_id).first
|
|
|
|
- assert( !found, 'Organization destroyed')
|
|
|
|
- }
|
|
|
|
|
|
+ organization = Organization.create(
|
|
|
|
+ name: 'some name',
|
|
|
|
+ updated_by_id: current_user.id,
|
|
|
|
+ created_by_id: current_user.id,
|
|
|
|
+ )
|
|
|
|
+ travel 100.seconds
|
|
|
|
+ assert_equal(organization.class, Organization)
|
|
|
|
+
|
|
|
|
+ organization.update_attributes(name: 'some name (äöüß)')
|
|
|
|
+ updated_at = organization.updated_at
|
|
|
|
+
|
|
|
|
+ travel 10.seconds
|
|
|
|
+ organization.update_attributes(name: 'some name 2 (äöüß)')
|
|
|
|
+
|
|
|
|
+ # check activity_stream
|
|
|
|
+ stream = admin_user.activity_stream(3)
|
|
|
|
+ assert_not(stream[0]['group_id'])
|
|
|
|
+ assert_equal(stream[0]['o_id'], organization.id)
|
|
|
|
+ assert_equal(stream[0]['created_by_id'], current_user.id)
|
|
|
|
+ assert_equal(stream[0]['created_at'].to_s, updated_at.to_s)
|
|
|
|
+ assert_equal(stream[0]['object'], 'Organization')
|
|
|
|
+ assert_equal(stream[0]['type'], 'update')
|
|
|
|
+ assert_not(stream[1]['group_id'])
|
|
|
|
+ assert_equal(stream[1]['o_id'], organization.id)
|
|
|
|
+ assert_equal(stream[1]['created_by_id'], current_user.id)
|
|
|
|
+ assert_equal(stream[1]['created_at'].to_s, organization.created_at.to_s)
|
|
|
|
+ assert_equal(stream[1]['object'], 'Organization')
|
|
|
|
+ assert_equal(stream[1]['type'], 'create')
|
|
|
|
+ assert_not(stream[2])
|
|
|
|
+
|
|
|
|
+ stream = current_user.activity_stream(4)
|
|
|
|
+ assert(stream.empty?)
|
|
|
|
+
|
|
|
|
+ # cleanup
|
|
|
|
+ organization.destroy
|
|
|
|
+ travel_back
|
|
end
|
|
end
|
|
|
|
|
|
test 'user with update check false' do
|
|
test 'user with update check false' do
|
|
- tests = [
|
|
|
|
-
|
|
|
|
- # test 1
|
|
|
|
- {
|
|
|
|
- create: {
|
|
|
|
- user: {
|
|
|
|
- login: 'someemail@example.com',
|
|
|
|
- email: 'someemail@example.com',
|
|
|
|
- firstname: 'Bob Smith II',
|
|
|
|
- updated_by_id: current_user.id,
|
|
|
|
- created_by_id: current_user.id,
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
- update1: {
|
|
|
|
- user: {
|
|
|
|
- firstname: 'Bob U',
|
|
|
|
- lastname: 'Smith U',
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
- check: [
|
|
|
|
- {
|
|
|
|
- result: true,
|
|
|
|
- object: 'User',
|
|
|
|
- type: 'create',
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- result: false,
|
|
|
|
- object: 'User',
|
|
|
|
- type: 'update',
|
|
|
|
- },
|
|
|
|
- ]
|
|
|
|
- },
|
|
|
|
- ]
|
|
|
|
- users = []
|
|
|
|
- tests.each { |test|
|
|
|
|
-
|
|
|
|
- user = User.create(test[:create][:user])
|
|
|
|
- test[:check][0][:o_id] = user.id
|
|
|
|
- test[:check][0][:created_at] = user.created_at
|
|
|
|
- test[:check][0][:created_by_id] = current_user.id
|
|
|
|
-
|
|
|
|
- assert_equal(user.class.to_s, 'User')
|
|
|
|
-
|
|
|
|
- if test[:update1][:user]
|
|
|
|
- user.update_attributes(test[:update1][:user])
|
|
|
|
- test[:check][1][:o_id] = user.id
|
|
|
|
- test[:check][1][:updated_at] = user.updated_at
|
|
|
|
- test[:check][1][:created_by_id] = current_user.id
|
|
|
|
- end
|
|
|
|
-
|
|
|
|
- # remember organization
|
|
|
|
- users.push user
|
|
|
|
-
|
|
|
|
- # check activity_stream
|
|
|
|
- activity_stream_check(admin_user.activity_stream(3), test[:check])
|
|
|
|
- }
|
|
|
|
|
|
+ user = User.create(
|
|
|
|
+ login: 'someemail@example.com',
|
|
|
|
+ email: 'someemail@example.com',
|
|
|
|
+ firstname: 'Bob Smith II',
|
|
|
|
+ updated_by_id: current_user.id,
|
|
|
|
+ created_by_id: current_user.id,
|
|
|
|
+ )
|
|
|
|
+ assert_equal(user.class, User)
|
|
|
|
+ user.update_attributes(
|
|
|
|
+ firstname: 'Bob U',
|
|
|
|
+ lastname: 'Smith U',
|
|
|
|
+ )
|
|
|
|
|
|
- # delete tickets
|
|
|
|
- users.each { |user|
|
|
|
|
- user_id = user.id
|
|
|
|
- user.destroy
|
|
|
|
- found = User.where( id: user_id ).first
|
|
|
|
- assert_not(found, 'User destroyed')
|
|
|
|
- }
|
|
|
|
|
|
+ # check activity_stream
|
|
|
|
+ stream = admin_user.activity_stream(3)
|
|
|
|
+ assert_not(stream[0]['group_id'])
|
|
|
|
+ assert_equal(stream[0]['o_id'], user.id)
|
|
|
|
+ assert_equal(stream[0]['created_by_id'], current_user.id)
|
|
|
|
+ assert_equal(stream[0]['created_at'].to_s, user.created_at.to_s)
|
|
|
|
+ assert_equal(stream[0]['object'], 'User')
|
|
|
|
+ assert_equal(stream[0]['type'], 'create')
|
|
|
|
+ assert_not(stream[1])
|
|
|
|
+
|
|
|
|
+ stream = current_user.activity_stream(4)
|
|
|
|
+ assert(stream.empty?)
|
|
|
|
+
|
|
|
|
+ # cleanup
|
|
|
|
+ user.destroy
|
|
|
|
+ travel_back
|
|
end
|
|
end
|
|
|
|
|
|
test 'user with update check true' do
|
|
test 'user with update check true' do
|
|
- tests = [
|
|
|
|
-
|
|
|
|
- # test 1
|
|
|
|
- {
|
|
|
|
- create: {
|
|
|
|
- user: {
|
|
|
|
- login: 'someemail@example.com',
|
|
|
|
- email: 'someemail@example.com',
|
|
|
|
- firstname: 'Bob Smith II',
|
|
|
|
- updated_by_id: current_user.id,
|
|
|
|
- created_by_id: current_user.id,
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
- update1: {
|
|
|
|
- user: {
|
|
|
|
- firstname: 'Bob U',
|
|
|
|
- lastname: 'Smith U',
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
- update2: {
|
|
|
|
- user: {
|
|
|
|
- firstname: 'Bob',
|
|
|
|
- lastname: 'Smith',
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
- check: [
|
|
|
|
- {
|
|
|
|
- result: true,
|
|
|
|
- object: 'User',
|
|
|
|
- type: 'update',
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- result: true,
|
|
|
|
- object: 'User',
|
|
|
|
- type: 'create',
|
|
|
|
- },
|
|
|
|
- ]
|
|
|
|
- },
|
|
|
|
- ]
|
|
|
|
- users = []
|
|
|
|
- tests.each { |test|
|
|
|
|
-
|
|
|
|
- user = User.create(test[:create][:user])
|
|
|
|
- test[:check][0][:o_id] = user.id
|
|
|
|
- test[:check][0][:created_at] = user.created_at
|
|
|
|
- test[:check][0][:created_by_id] = current_user.id
|
|
|
|
-
|
|
|
|
- assert_equal(user.class.to_s, 'User')
|
|
|
|
|
|
|
|
- if test[:update1][:user]
|
|
|
|
- user.update_attributes(test[:update1][:user])
|
|
|
|
- test[:check][1][:o_id] = user.id
|
|
|
|
- test[:check][1][:updated_at] = user.updated_at
|
|
|
|
- test[:check][1][:created_by_id] = current_user.id
|
|
|
|
- end
|
|
|
|
-
|
|
|
|
- # to verify update which need to be logged
|
|
|
|
- travel 1.second
|
|
|
|
-
|
|
|
|
- if test[:update2][:user]
|
|
|
|
- user.update_attributes(test[:update2][:user])
|
|
|
|
- end
|
|
|
|
-
|
|
|
|
- # remember organization
|
|
|
|
- users.push user
|
|
|
|
-
|
|
|
|
- # check activity_stream
|
|
|
|
- activity_stream_check(admin_user.activity_stream(2), test[:check])
|
|
|
|
- }
|
|
|
|
|
|
+ user = User.create(
|
|
|
|
+ login: 'someemail@example.com',
|
|
|
|
+ email: 'someemail@example.com',
|
|
|
|
+ firstname: 'Bob Smith II',
|
|
|
|
+ updated_by_id: current_user.id,
|
|
|
|
+ created_by_id: current_user.id,
|
|
|
|
+ )
|
|
|
|
+ travel 100.seconds
|
|
|
|
+ assert_equal(user.class, User)
|
|
|
|
|
|
- # delete tickets
|
|
|
|
- users.each { |user|
|
|
|
|
- user_id = user.id
|
|
|
|
- user.destroy
|
|
|
|
- found = User.where(id: user_id).first
|
|
|
|
- assert(!found, 'User destroyed')
|
|
|
|
- }
|
|
|
|
- end
|
|
|
|
|
|
+ user.update_attributes(
|
|
|
|
+ firstname: 'Bob U',
|
|
|
|
+ lastname: 'Smith U',
|
|
|
|
+ )
|
|
|
|
+ updated_at = user.updated_at
|
|
|
|
|
|
- def activity_stream_check(activity_stream_list, checks)
|
|
|
|
- #activity_stream_list = activity_stream_list.reverse
|
|
|
|
- #puts 'AS ' + activity_stream_list.inspect
|
|
|
|
- check_count = 0
|
|
|
|
- checks.each { |check_item|
|
|
|
|
- check_count += 1
|
|
|
|
|
|
+ travel 10.seconds
|
|
|
|
+ user.update_attributes(
|
|
|
|
+ firstname: 'Bob',
|
|
|
|
+ lastname: 'Smith',
|
|
|
|
+ )
|
|
|
|
|
|
- #puts '+++++++++++'
|
|
|
|
- #puts check_item.inspect
|
|
|
|
- check_list = 0
|
|
|
|
- activity_stream_list.each { |item|
|
|
|
|
- check_list += 1
|
|
|
|
- next if check_list != check_count
|
|
|
|
- #next if match
|
|
|
|
- #puts '--------'
|
|
|
|
- #puts item.inspect
|
|
|
|
- #puts check_item.inspect
|
|
|
|
- if check_item[:result]
|
|
|
|
- assert_equal(check_item[:object], item['object'])
|
|
|
|
- assert_equal(check_item[:type], item['type'])
|
|
|
|
- assert_equal(check_item[:o_id], item['o_id'])
|
|
|
|
- elsif check_item[:object] == item['object'] && check_item[:type] == item['type'] && check_item[:o_id] == item['o_id']
|
|
|
|
- assert(false, "entry should not exist #{item['object']}/#{item['type']}/#{item['o_id']}")
|
|
|
|
- end
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ # check activity_stream
|
|
|
|
+ stream = admin_user.activity_stream(3)
|
|
|
|
+ assert_not(stream[0]['group_id'])
|
|
|
|
+ assert_equal(stream[0]['o_id'], user.id)
|
|
|
|
+ assert_equal(stream[0]['created_by_id'], current_user.id)
|
|
|
|
+ assert_equal(stream[0]['created_at'].to_s, updated_at.to_s)
|
|
|
|
+ assert_equal(stream[0]['object'], 'User')
|
|
|
|
+ assert_equal(stream[0]['type'], 'update')
|
|
|
|
+ assert_not(stream[1]['group_id'])
|
|
|
|
+ assert_equal(stream[1]['o_id'], user.id)
|
|
|
|
+ assert_equal(stream[1]['created_by_id'], current_user.id)
|
|
|
|
+ assert_equal(stream[1]['created_at'].to_s, user.created_at.to_s)
|
|
|
|
+ assert_equal(stream[1]['object'], 'User')
|
|
|
|
+ assert_equal(stream[1]['type'], 'create')
|
|
|
|
+ assert_not(stream[2])
|
|
|
|
+
|
|
|
|
+ stream = current_user.activity_stream(4)
|
|
|
|
+ assert(stream.empty?)
|
|
|
|
+
|
|
|
|
+ # cleanup
|
|
|
|
+ user.destroy
|
|
|
|
+ travel_back
|
|
end
|
|
end
|
|
|
|
|
|
end
|
|
end
|