-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsubscriber_validators.rb
More file actions
49 lines (42 loc) · 2.2 KB
/
subscriber_validators.rb
File metadata and controls
49 lines (42 loc) · 2.2 KB
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
module Validators
module SubscriberValidators
def validate_subscriber(subscriber, values)
expect(subscriber.id).to eq(values['id'])
expect(subscriber.first_name).to eq(values['first_name'])
expect(subscriber.email).to eq(values['email_address'])
expect(subscriber.state).to eq(values['state'])
expect(subscriber.fields).to match(values['fields'])
expect(subscriber.created_at).to eq(DateTime.parse(values['created_at'])) unless values.fetch('created_at', '').strip.empty?
end
def validate_subscribers(subscribers, values)
expect(subscribers.total_subscribers).to eq(values['total_subscribers'])
expect(subscribers.page).to eq(values['page'])
expect(subscribers.total_pages).to eq(values['total_pages'])
subscribers.subscribers.each_with_index do |subscriber, index|
validate_subscriber(subscriber, values['subscribers'][index])
end
end
def validate_tagged_subscribers(subscribers, values)
subscribers.subscribers.each_with_index do |subscriber, index|
values = values['subscribers'][index]
expect(subscriber.id).to eq(values['id'])
expect(subscriber.first_name).to eq(values['first_name'])
expect(subscriber.email).to eq(values['email_address'])
expect(subscriber.created_at).to eq(DateTime.parse(values['created_at'])) unless values.fetch('created_at', '').strip.empty?
expect(subscriber.tagged_at).to eq(DateTime.parse(values['tagged_at'])) unless values.fetch('tagged_at', '').strip.empty?
end
end
def validate_bulk_create_failure(bulk_create_failure_response, values)
expect(bulk_create_failure_response.errors).to match_array(values['errors']) if values['errors']
validate_subscriber(bulk_create_failure_response.subscriber, values['subscriber']) if values['subscriber']
end
def validate_bulk_create(bulk_create_response, values)
bulk_create_response.subscribers.each_with_index do |subscriber, index|
validate_subscriber(subscriber, values['subscribers'][index])
end
bulk_create_response.failures.each_with_index do |failure, index|
validate_bulk_create_failure(failure, values['failures'][index])
end
end
end
end