91 lines
2.6 KiB
Ruby
91 lines
2.6 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
require 'spec_helper'
|
|
|
|
RSpec.describe Nostr::EventFragment do
|
|
let(:event_fragment) do
|
|
described_class.new(
|
|
pubkey: 'ccf9fdf3e1466d7c20969c71ec98defcf5f54aee088513e1b73ccb7bd770d460',
|
|
created_at: 1_230_981_305,
|
|
kind: 1,
|
|
tags: [
|
|
%w[e 189df012cfff8a075785b884bd702025f4a7a37710f581c4ac9d33e24b585408],
|
|
%w[p 472f440f29ef996e92a186b8d320ff180c855903882e59d50de1b8bd5669301e]
|
|
],
|
|
content: 'Your feedback is appreciated, now pay $8'
|
|
)
|
|
end
|
|
|
|
describe '.new' do
|
|
it 'creates an instance of an event fragment' do
|
|
event_fragment = described_class.new(
|
|
pubkey: 'ccf9fdf3e1466d7c20969c71ec98defcf5f54aee088513e1b73ccb7bd770d460',
|
|
created_at: 1_230_981_305,
|
|
kind: 1,
|
|
tags: [
|
|
%w[e 189df012cfff8a075785b884bd702025f4a7a37710f581c4ac9d33e24b585408],
|
|
%w[p 472f440f29ef996e92a186b8d320ff180c855903882e59d50de1b8bd5669301e]
|
|
],
|
|
content: 'Your feedback is appreciated, now pay $8'
|
|
)
|
|
|
|
expect(event_fragment).to be_an_instance_of(described_class)
|
|
end
|
|
end
|
|
|
|
describe '#content' do
|
|
it 'exposes the event fragment content' do
|
|
expect(event_fragment.content).to eq('Your feedback is appreciated, now pay $8')
|
|
end
|
|
end
|
|
|
|
describe '#created_at' do
|
|
it 'exposes the event fragment creation date' do
|
|
expect(event_fragment.created_at).to eq(1_230_981_305)
|
|
end
|
|
end
|
|
|
|
describe '#kind' do
|
|
it 'exposes the event fragment kind' do
|
|
expect(event_fragment.kind).to eq(1)
|
|
end
|
|
end
|
|
|
|
describe '#pubkey' do
|
|
it 'exposes the event fragment pubkey' do
|
|
expect(event_fragment.pubkey).to eq('ccf9fdf3e1466d7c20969c71ec98defcf5f54aee088513e1b73ccb7bd770d460')
|
|
end
|
|
end
|
|
|
|
describe '#serialize' do
|
|
it 'serializes the event fragment according to NIP-01' do
|
|
serialized_event_fragment = event_fragment.serialize
|
|
|
|
expect(serialized_event_fragment).to eq(
|
|
[
|
|
0,
|
|
'ccf9fdf3e1466d7c20969c71ec98defcf5f54aee088513e1b73ccb7bd770d460',
|
|
1_230_981_305,
|
|
1,
|
|
[
|
|
%w[e 189df012cfff8a075785b884bd702025f4a7a37710f581c4ac9d33e24b585408],
|
|
%w[p 472f440f29ef996e92a186b8d320ff180c855903882e59d50de1b8bd5669301e]
|
|
],
|
|
'Your feedback is appreciated, now pay $8'
|
|
]
|
|
)
|
|
end
|
|
end
|
|
|
|
describe '#tags' do
|
|
it 'exposes the event fragment tags' do
|
|
expect(event_fragment.tags).to eq(
|
|
[
|
|
%w[e 189df012cfff8a075785b884bd702025f4a7a37710f581c4ac9d33e24b585408],
|
|
%w[p 472f440f29ef996e92a186b8d320ff180c855903882e59d50de1b8bd5669301e]
|
|
]
|
|
)
|
|
end
|
|
end
|
|
end
|