UNPKG

event-store-client

Version:

Client library for connecting to Event Store instances over TCP/IP

58 lines (44 loc) 2.18 kB
var assert = require("assert"); var EventStoreClient = require("../../index.js"); var dbconn = require("../common/dbconn"); var defaultHostName = dbconn.defaultHostName; var credentials = dbconn.credentials; var port = dbconn.port; var streamId = "event-store-client-test"; describe("JSON Event Metadata", function() { describe("Reading JSON metadata from an event", function() { var testEventNumber = null; var testRunDate = new Date().toISOString(); before("Writing a test event with metadata", function(done) { var events = [{ eventId: EventStoreClient.Connection.createGuid(), eventType: "MetadataTestEvent", data: { comment: "Testing reading and writing event metadata" }, metadata: { testRanAt: testRunDate } }]; var connection = new EventStoreClient.Connection({ host: defaultHostName, port: port, onError: done }); connection.writeEvents(streamId, EventStoreClient.ExpectedVersion.Any, false, events, credentials, function(completed) { testEventNumber = completed.firstEventNumber; connection.close(); done(); }); }); it("should have JSON metadata defined on the event", function(done) { var testEvent = null; var readSingleEvent = 1; var connection = new EventStoreClient.Connection({ host: defaultHostName, port: port, onError: done }); connection.readStreamEventsBackward(streamId, testEventNumber, readSingleEvent, false, false, onEventAppeared, credentials, onCompleted); function onEventAppeared(event) { testEvent = event; } function onCompleted(completed) { assert.equal(completed.result, EventStoreClient.ReadStreamResult.Success, "Expected a result code of Success, not " + EventStoreClient.ReadStreamResult.getName(completed.result)); assert.ok(testEvent.isJson === true, "Expected event to have JSON data"); assert.equal(testRunDate, testEvent.metadata.testRanAt, "Expected metadata field 'testRanAt' to match date " + testRunDate); connection.close(); done(); }; }); }); });