flutter 0.1.0.pre.2 → 0.1.0.pre.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +15 -1
- data/README.md +3 -1
- data/lib/flutter/persistence.rb +51 -5
- data/lib/flutter/tracker.rb +47 -5
- data/lib/flutter/version.rb +1 -1
- metadata +16 -91
- data/integration_tests/minitest/grape_app/.gitignore +0 -67
- data/integration_tests/minitest/grape_app/.ruby-version +0 -1
- data/integration_tests/minitest/grape_app/Gemfile +0 -17
- data/integration_tests/minitest/grape_app/Gemfile.lock +0 -89
- data/integration_tests/minitest/grape_app/README.md +0 -2
- data/integration_tests/minitest/grape_app/Rakefile +0 -9
- data/integration_tests/minitest/grape_app/api/api.rb +0 -34
- data/integration_tests/minitest/grape_app/api/routes/api_helpers.rb +0 -12
- data/integration_tests/minitest/grape_app/api/routes/change_request/api.rb +0 -69
- data/integration_tests/minitest/grape_app/api/routes/change_request/response_entity.rb +0 -18
- data/integration_tests/minitest/grape_app/api/routes/event/api.rb +0 -121
- data/integration_tests/minitest/grape_app/api/routes/event/response_entity.rb +0 -41
- data/integration_tests/minitest/grape_app/api/routes/project/api.rb +0 -59
- data/integration_tests/minitest/grape_app/api/routes/project/response_entity.rb +0 -13
- data/integration_tests/minitest/grape_app/api/routes/property/api.rb +0 -78
- data/integration_tests/minitest/grape_app/api/routes/property/response_entity.rb +0 -31
- data/integration_tests/minitest/grape_app/api/routes/trackable_object/api.rb +0 -64
- data/integration_tests/minitest/grape_app/api/routes/trackable_object/response_entity.rb +0 -24
- data/integration_tests/minitest/grape_app/api/routes/tracking_spec/api.rb +0 -88
- data/integration_tests/minitest/grape_app/api/routes/tracking_spec/response_entity.rb +0 -17
- data/integration_tests/minitest/grape_app/api/routes/tracking_spec/spec_response.rb +0 -19
- data/integration_tests/minitest/grape_app/api/routes/user/api.rb +0 -22
- data/integration_tests/minitest/grape_app/api/routes/user/response_entity.rb +0 -12
- data/integration_tests/minitest/grape_app/app/app.rb +0 -30
- data/integration_tests/minitest/grape_app/app/change_request/endpoint.rb +0 -24
- data/integration_tests/minitest/grape_app/app/change_request/generate_system_changes.rb +0 -25
- data/integration_tests/minitest/grape_app/app/change_request/service.rb +0 -79
- data/integration_tests/minitest/grape_app/app/event/endpoint.rb +0 -78
- data/integration_tests/minitest/grape_app/app/event/service.rb +0 -68
- data/integration_tests/minitest/grape_app/app/event/validator.rb +0 -108
- data/integration_tests/minitest/grape_app/app/project/endpoint.rb +0 -24
- data/integration_tests/minitest/grape_app/app/project/service.rb +0 -42
- data/integration_tests/minitest/grape_app/app/property/endpoint.rb +0 -39
- data/integration_tests/minitest/grape_app/app/property/service.rb +0 -56
- data/integration_tests/minitest/grape_app/app/trackable_object/endpoint.rb +0 -38
- data/integration_tests/minitest/grape_app/app/trackable_object/service.rb +0 -49
- data/integration_tests/minitest/grape_app/app/trackable_object/validator.rb +0 -40
- data/integration_tests/minitest/grape_app/app/tracking_spec/endpoint.rb +0 -58
- data/integration_tests/minitest/grape_app/app/tracking_spec/expand_tracking_spec_events.rb +0 -91
- data/integration_tests/minitest/grape_app/app/tracking_spec/service.rb +0 -51
- data/integration_tests/minitest/grape_app/app/tracking_spec/validator.rb +0 -61
- data/integration_tests/minitest/grape_app/app/utils/errors/api_exceptions.rb +0 -10
- data/integration_tests/minitest/grape_app/app/utils/errors/service_exceptions.rb +0 -12
- data/integration_tests/minitest/grape_app/app/versioned_entity/entity.rb +0 -110
- data/integration_tests/minitest/grape_app/app/versioned_entity/service.rb +0 -47
- data/integration_tests/minitest/grape_app/app/versioned_entity/validator.rb +0 -61
- data/integration_tests/minitest/grape_app/app/versioned_entity_snapshot/entity.rb +0 -32
- data/integration_tests/minitest/grape_app/config/boot.rb +0 -9
- data/integration_tests/minitest/grape_app/config.ru +0 -3
- data/integration_tests/minitest/grape_app/db/proto/change_request.rb +0 -10
- data/integration_tests/minitest/grape_app/db/proto/common/doc.rb +0 -86
- data/integration_tests/minitest/grape_app/db/proto/event.rb +0 -10
- data/integration_tests/minitest/grape_app/db/proto/event_snapshot.rb +0 -10
- data/integration_tests/minitest/grape_app/db/proto/project.rb +0 -21
- data/integration_tests/minitest/grape_app/db/proto/property.rb +0 -10
- data/integration_tests/minitest/grape_app/db/proto/property_snapshot.rb +0 -10
- data/integration_tests/minitest/grape_app/db/proto/trackable_object.rb +0 -10
- data/integration_tests/minitest/grape_app/db/proto/trackable_object_snapshot.rb +0 -10
- data/integration_tests/minitest/grape_app/db/proto/tracking_spec.rb +0 -10
- data/integration_tests/minitest/grape_app/test/api/functional/event_test.rb +0 -186
- data/integration_tests/minitest/grape_app/test/api/functional/property_test.rb +0 -197
- data/integration_tests/minitest/grape_app/test/api/functional/trackable_object_test.rb +0 -134
- data/integration_tests/minitest/grape_app/test/api/functional/tracking_spec_test.rb +0 -56
- data/integration_tests/minitest/grape_app/test/api/functional/user_test.rb +0 -24
- data/integration_tests/minitest/grape_app/test/api/functional/versioned_entity_helper.rb +0 -157
- data/integration_tests/minitest/grape_app/test/fixtures/change_requests.rb +0 -83
- data/integration_tests/minitest/grape_app/test/fixtures/event_snapshots.rb +0 -105
- data/integration_tests/minitest/grape_app/test/fixtures/events.rb +0 -58
- data/integration_tests/minitest/grape_app/test/fixtures/properties.rb +0 -66
- data/integration_tests/minitest/grape_app/test/fixtures/property_snapshots.rb +0 -124
- data/integration_tests/minitest/grape_app/test/fixtures/sample_tracking_spec.json +0 -125
- data/integration_tests/minitest/grape_app/test/fixtures/trackable_objects.rb +0 -58
- data/integration_tests/minitest/grape_app/test/fixtures/trackable_objects_snapshots.rb +0 -61
- data/integration_tests/minitest/grape_app/test/fixtures/tracking_specs.rb +0 -22
- data/integration_tests/minitest/grape_app/test/test_helper.rb +0 -15
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
require_relative '../../app/change_request/service'
|
|
2
|
-
module Skee
|
|
3
|
-
module App
|
|
4
|
-
module VersionedEntity
|
|
5
|
-
class Validator
|
|
6
|
-
def initialize(params, entity_type)
|
|
7
|
-
@params = params
|
|
8
|
-
@entity_type = entity_type
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
ERRORS = Utils::Errors
|
|
12
|
-
|
|
13
|
-
def validate_create_params
|
|
14
|
-
validate_change_request_status
|
|
15
|
-
validate_uniqueness_by_name
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def validate_update_params
|
|
19
|
-
validate_versioned_entity_present
|
|
20
|
-
validate_change_request_status
|
|
21
|
-
validate_uniqueness_by_name
|
|
22
|
-
end
|
|
23
|
-
|
|
24
|
-
def validate_remove_params
|
|
25
|
-
validate_versioned_entity_present
|
|
26
|
-
validate_change_request_status
|
|
27
|
-
validate_uniqueness_by_name
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
private
|
|
31
|
-
|
|
32
|
-
def validate_versioned_entity_present
|
|
33
|
-
entity_instance = Skee::App::DB_MAPPING_ENTITY[@entity_type].find(@params[:id])
|
|
34
|
-
raise ERRORS::RecordNotFoundException.new('Resource not found') unless entity_instance
|
|
35
|
-
end
|
|
36
|
-
|
|
37
|
-
def validate_change_request_status
|
|
38
|
-
raise ERRORS::RecordNotFoundException.new('Invalid change request') unless change_request
|
|
39
|
-
raise ERRORS::NotAllowedToUpdate.new('Invalid change request') if change_request.status != 'open'
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
def validate_uniqueness_by_name
|
|
43
|
-
# todo: fix this when we know structure of tracking spec
|
|
44
|
-
# tracking_spec = Skee::App::TrackingSpec::Service.get(id: change_request.source_tracking_spec_id)
|
|
45
|
-
# existing_entity_ids = tracking_spec.entity_set[@entity_type]
|
|
46
|
-
# new_entity_change_set = change_request.change_set[@entity_type]
|
|
47
|
-
# return unless new_entity_change_set
|
|
48
|
-
# new_entity_ids = new_entity_change_set.values.flatten
|
|
49
|
-
# non_unique_name = Skee::App::DB_MAPPING_ENTITY[@entity_type].find_all(ids: (new_entity_ids + existing_entity_ids)).any? do |entity|
|
|
50
|
-
# entity.name == @params[:name]
|
|
51
|
-
# end
|
|
52
|
-
# raise ERRORS::UniquenessViolationException.new('Invalid name') if non_unique_name
|
|
53
|
-
end
|
|
54
|
-
|
|
55
|
-
def change_request
|
|
56
|
-
@change_request ||= Skee::App::ChangeRequest::Service.get(id: @params[:change_request_id])
|
|
57
|
-
end
|
|
58
|
-
end
|
|
59
|
-
end
|
|
60
|
-
end
|
|
61
|
-
end
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
require_relative '../../app/change_request/service'
|
|
2
|
-
module Skee
|
|
3
|
-
module App
|
|
4
|
-
module VersionedEntitySnapshot
|
|
5
|
-
class Entity
|
|
6
|
-
def initialize(entity)
|
|
7
|
-
@entity = entity
|
|
8
|
-
@db = Skee::App::DB_MAPPING_ENTITY_SNAPSHOT[@entity]
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def list(ids:)
|
|
12
|
-
return @db.all if ids.empty?
|
|
13
|
-
@db.find_all(ids: ids)
|
|
14
|
-
end
|
|
15
|
-
|
|
16
|
-
def get(params)
|
|
17
|
-
# add validator, to reject if nil, or does not exist.
|
|
18
|
-
@db.find(params[:id])
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def create(params)
|
|
22
|
-
@db.create(params)
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def update(update_params)
|
|
26
|
-
snapshot = @db.find(update_params[:id])
|
|
27
|
-
snapshot.update(update_params)
|
|
28
|
-
end
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
end
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
require 'ostruct'
|
|
2
|
-
module Skee
|
|
3
|
-
module DB
|
|
4
|
-
module Proto
|
|
5
|
-
module Common
|
|
6
|
-
class Doc
|
|
7
|
-
def initialize(doc)
|
|
8
|
-
@doc = doc
|
|
9
|
-
generate_attribute_readers(doc)
|
|
10
|
-
end
|
|
11
|
-
|
|
12
|
-
def generate_attribute_readers(doc)
|
|
13
|
-
doc.to_h.each do |key, value|
|
|
14
|
-
define_singleton_method(key) { value }
|
|
15
|
-
end
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def to_h
|
|
19
|
-
@doc.to_h
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def self.all
|
|
23
|
-
@all_docs
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def self.find(id)
|
|
27
|
-
all_docs = all
|
|
28
|
-
doc = all_docs.find do |doc|
|
|
29
|
-
doc.id == id
|
|
30
|
-
end
|
|
31
|
-
self.new(doc) if doc
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def self.find_all(ids:)
|
|
35
|
-
all_docs = all
|
|
36
|
-
docs_array = all_docs.filter do |doc|
|
|
37
|
-
ids.include? doc.id
|
|
38
|
-
end
|
|
39
|
-
docs_array.map do |doc|
|
|
40
|
-
self.new(doc)
|
|
41
|
-
end
|
|
42
|
-
end
|
|
43
|
-
|
|
44
|
-
def self.where(fields)
|
|
45
|
-
all_docs = all
|
|
46
|
-
docs_array = all_docs.filter do |doc|
|
|
47
|
-
fields.all? do |key, value|
|
|
48
|
-
doc[key] == value
|
|
49
|
-
end
|
|
50
|
-
end
|
|
51
|
-
docs_array.map do |doc|
|
|
52
|
-
self.new(doc)
|
|
53
|
-
end
|
|
54
|
-
end
|
|
55
|
-
|
|
56
|
-
def self.create(fields)
|
|
57
|
-
new_id = rand(0..2**32)
|
|
58
|
-
new_doc = OpenStruct.new(
|
|
59
|
-
id: new_id
|
|
60
|
-
)
|
|
61
|
-
fields.each do |key, value|
|
|
62
|
-
new_doc[key] = value
|
|
63
|
-
end
|
|
64
|
-
all << new_doc
|
|
65
|
-
find(new_doc.id)
|
|
66
|
-
end
|
|
67
|
-
|
|
68
|
-
def update(fields)
|
|
69
|
-
fields.each do |key, value|
|
|
70
|
-
@doc[key] = value
|
|
71
|
-
end
|
|
72
|
-
@doc
|
|
73
|
-
end
|
|
74
|
-
|
|
75
|
-
def delete
|
|
76
|
-
self.class.all.delete(@doc)
|
|
77
|
-
end
|
|
78
|
-
|
|
79
|
-
def self.delete_all
|
|
80
|
-
@all_docs = []
|
|
81
|
-
end
|
|
82
|
-
end
|
|
83
|
-
end
|
|
84
|
-
end
|
|
85
|
-
end
|
|
86
|
-
end
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
require_relative './common/doc'
|
|
2
|
-
module Skee
|
|
3
|
-
module DB
|
|
4
|
-
module Proto
|
|
5
|
-
class Project < Proto::Common::Doc
|
|
6
|
-
@all_docs = [
|
|
7
|
-
OpenStruct.new(
|
|
8
|
-
id: 'proj123',
|
|
9
|
-
name: 'project 1 lah',
|
|
10
|
-
description: 'project desc 1 leh'
|
|
11
|
-
),
|
|
12
|
-
OpenStruct.new(
|
|
13
|
-
id: 'proj456',
|
|
14
|
-
name: 'project 2 lah',
|
|
15
|
-
description: 'project desc 2 leh'
|
|
16
|
-
)
|
|
17
|
-
]
|
|
18
|
-
end
|
|
19
|
-
end
|
|
20
|
-
end
|
|
21
|
-
end
|
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
require_relative '../../test_helper'
|
|
2
|
-
require_relative 'versioned_entity_helper'
|
|
3
|
-
module Skee
|
|
4
|
-
module API
|
|
5
|
-
module Test
|
|
6
|
-
module Functional
|
|
7
|
-
class EventTest < MiniTest::Test
|
|
8
|
-
include Rack::Test::Methods
|
|
9
|
-
include Skee::API::Test::Functional::VersionedEntityHelper
|
|
10
|
-
|
|
11
|
-
def app
|
|
12
|
-
Skee::API::Routes::Event::API
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
def initialize_db
|
|
16
|
-
@properties = Skee::Test::Fixtures::Properties.all
|
|
17
|
-
@properties.each { |entity| Skee::DB::Proto::Property.create(entity) }
|
|
18
|
-
@property_snapshots = Skee::Test::Fixtures::PropertySnapshots.all
|
|
19
|
-
@property_snapshots.each { |entity| Skee::DB::Proto::PropertySnapshot.create(entity) }
|
|
20
|
-
@trackable_objects = Skee::Test::Fixtures::TrackableObjects.all
|
|
21
|
-
@trackable_objects.each { |entity| Skee::DB::Proto::TrackableObject.create(entity) }
|
|
22
|
-
@trackable_object_snapshots = Skee::Test::Fixtures::TrackableObjectSnapshots.all
|
|
23
|
-
@trackable_object_snapshots.each { |entity| Skee::DB::Proto::TrackableObjectSnapshot.create(entity) }
|
|
24
|
-
@change_requests = Skee::Test::Fixtures::ChangeRequests.all
|
|
25
|
-
@change_requests.each { |entity| Skee::DB::Proto::ChangeRequest.create(entity) }
|
|
26
|
-
@tracking_specs = Skee::Test::Fixtures::TrackingSpecs.all
|
|
27
|
-
@tracking_specs.each { |entity| Skee::DB::Proto::TrackingSpec.create(entity) }
|
|
28
|
-
@events = Skee::Test::Fixtures::Events.all
|
|
29
|
-
@events.each { |entity| Skee::DB::Proto::Event.create(entity) }
|
|
30
|
-
@event_snapshots = Skee::Test::Fixtures::EventSnapshots.all
|
|
31
|
-
@event_snapshots.each { |entity| Skee::DB::Proto::EventSnapshot.create(entity) }
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def clear_db
|
|
35
|
-
Skee::DB::Proto::Property.delete_all
|
|
36
|
-
Skee::DB::Proto::TrackableObject.delete_all
|
|
37
|
-
Skee::DB::Proto::ChangeRequest.delete_all
|
|
38
|
-
Skee::DB::Proto::TrackingSpec.delete_all
|
|
39
|
-
Skee::DB::Proto::Event.delete_all
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
def setup
|
|
43
|
-
clear_db
|
|
44
|
-
initialize_db
|
|
45
|
-
@entity_type = :event
|
|
46
|
-
@entity_path = 'events'
|
|
47
|
-
@entity_fixture = Skee::Test::Fixtures::Events
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
# def test_get_all_events
|
|
51
|
-
# get_all_entities
|
|
52
|
-
# end
|
|
53
|
-
|
|
54
|
-
def test_retrieve_event
|
|
55
|
-
id = '4'
|
|
56
|
-
retrieve_entity(id)
|
|
57
|
-
end
|
|
58
|
-
|
|
59
|
-
def test_retrieve_event_with_change_request
|
|
60
|
-
id = '4'
|
|
61
|
-
snapshot_id = '5'
|
|
62
|
-
params = {'change_request_id' => '1'}
|
|
63
|
-
retrieved_entity = retrieve_entity(id, params)
|
|
64
|
-
assert_equal(
|
|
65
|
-
snapshot_id,
|
|
66
|
-
retrieved_entity['snapshot_id']
|
|
67
|
-
)
|
|
68
|
-
end
|
|
69
|
-
|
|
70
|
-
def new_event_params
|
|
71
|
-
{
|
|
72
|
-
'change_request_id' => '1',
|
|
73
|
-
'name' => 'Launched App',
|
|
74
|
-
'description' => 'Description of event A.',
|
|
75
|
-
'payload' => [
|
|
76
|
-
{
|
|
77
|
-
'key' => 'secondary_user',
|
|
78
|
-
'reference_entity_type' => 'trackable_object',
|
|
79
|
-
'reference_entity_id' => '1',
|
|
80
|
-
'is_array' => false,
|
|
81
|
-
'is_primary' => true,
|
|
82
|
-
'selected_property_ids' => ['1'],
|
|
83
|
-
},
|
|
84
|
-
{
|
|
85
|
-
'key' => 'created_timestamp',
|
|
86
|
-
'reference_entity_type' => 'property',
|
|
87
|
-
'reference_entity_id' => '2',
|
|
88
|
-
'is_array' => false,
|
|
89
|
-
'is_flatten' => false,
|
|
90
|
-
'is_primary' => nil,
|
|
91
|
-
'selected_property_ids' => ['2']
|
|
92
|
-
},
|
|
93
|
-
]
|
|
94
|
-
}
|
|
95
|
-
end
|
|
96
|
-
|
|
97
|
-
def update_event_params
|
|
98
|
-
{
|
|
99
|
-
'change_request_id' => '1',
|
|
100
|
-
'name' => 'Exited App',
|
|
101
|
-
'description' => 'Description of updated event A.',
|
|
102
|
-
}
|
|
103
|
-
end
|
|
104
|
-
|
|
105
|
-
def update_event_payload_params
|
|
106
|
-
{
|
|
107
|
-
'change_request_id' => '1',
|
|
108
|
-
'payload' => [
|
|
109
|
-
{
|
|
110
|
-
'key' => 'primary_user',
|
|
111
|
-
'reference_entity_type' => 'trackable_object',
|
|
112
|
-
'reference_entity_id' => '1',
|
|
113
|
-
'is_array' => false,
|
|
114
|
-
'is_primary' => false,
|
|
115
|
-
'selected_property_ids' => ['1'],
|
|
116
|
-
},
|
|
117
|
-
]
|
|
118
|
-
}
|
|
119
|
-
end
|
|
120
|
-
|
|
121
|
-
def add_event_payload_params
|
|
122
|
-
{
|
|
123
|
-
'change_request_id' => '1',
|
|
124
|
-
'payload' => [
|
|
125
|
-
{
|
|
126
|
-
'key' => 'favorite_products',
|
|
127
|
-
'reference_entity_type' => 'trackable_object',
|
|
128
|
-
'reference_entity_id' => '2',
|
|
129
|
-
'is_array' => true,
|
|
130
|
-
'is_primary' => false,
|
|
131
|
-
'selected_property_ids' => ['4'],
|
|
132
|
-
},
|
|
133
|
-
]
|
|
134
|
-
}
|
|
135
|
-
end
|
|
136
|
-
|
|
137
|
-
def test_create_event_invalid_change_request
|
|
138
|
-
params = new_event_params.merge('change_request_id' => -999)
|
|
139
|
-
create_entity_invalid_change_request(params)
|
|
140
|
-
end
|
|
141
|
-
|
|
142
|
-
def test_create_event_valid
|
|
143
|
-
create_entity_valid_name(new_event_params)
|
|
144
|
-
end
|
|
145
|
-
|
|
146
|
-
def test_update_event_invalid_change_request
|
|
147
|
-
params = update_event_params.merge('change_request_id' => -999)
|
|
148
|
-
update_entity_invalid_change_request('1', params)
|
|
149
|
-
end
|
|
150
|
-
|
|
151
|
-
def test_add_trackable_object_to_payload
|
|
152
|
-
id = '1'
|
|
153
|
-
post "/api/events/#{id}/add_payload", add_event_payload_params
|
|
154
|
-
updated_event = JSON.parse(last_response.body)
|
|
155
|
-
change_request = Skee::App::DB_MAPPING_ENTITY[:change_request].find('1')
|
|
156
|
-
assert_equal(updated_event['snapshot_id'], change_request.change_set[:event][id].values.first)
|
|
157
|
-
updated_payload = updated_event['payload'].find { |payload| payload['key'] == 'favorite_products'}
|
|
158
|
-
assert_equal(4, updated_event['payload'].count)
|
|
159
|
-
assert_equal('2', updated_payload['reference_entity_id'])
|
|
160
|
-
end
|
|
161
|
-
|
|
162
|
-
def test_update_trackable_object_in_payload
|
|
163
|
-
id = '1'
|
|
164
|
-
post "/api/events/#{id}/update_payload", update_event_payload_params
|
|
165
|
-
updated_event = JSON.parse(last_response.body)
|
|
166
|
-
change_request = Skee::App::DB_MAPPING_ENTITY[:change_request].find('1')
|
|
167
|
-
assert_equal(updated_event['snapshot_id'], change_request.change_set[:event][id].values.first)
|
|
168
|
-
updated_payload = updated_event['payload'].find { |payload| payload['key'] == 'primary_user'}
|
|
169
|
-
assert_equal(3, updated_event['payload'].count)
|
|
170
|
-
assert_equal('1', updated_payload['reference_entity_id'])
|
|
171
|
-
end
|
|
172
|
-
|
|
173
|
-
def test_remove_payload_identifier_from_payload
|
|
174
|
-
id = '1'
|
|
175
|
-
remove_payload_params = { 'change_request_id' => '1', 'payload_keys' => ['primary_user'] }
|
|
176
|
-
post "/api/events/#{id}/remove_payload", remove_payload_params
|
|
177
|
-
updated_event = JSON.parse(last_response.body)
|
|
178
|
-
change_request = Skee::App::DB_MAPPING_ENTITY[:change_request].find('1')
|
|
179
|
-
assert_equal(updated_event['snapshot_id'], change_request.change_set[:event][id].values.first)
|
|
180
|
-
assert_equal(2, updated_event['payload'].count)
|
|
181
|
-
end
|
|
182
|
-
end
|
|
183
|
-
end
|
|
184
|
-
end
|
|
185
|
-
end
|
|
186
|
-
end
|