json-example.journal.txt
failing test
(Update : these tests are now out of date.)
Given a memstate db configured to write journal extries as json, 1 line of json per journal entry
When I run a few commands
then the journal file should exist
And the journal file should have saved the entries as text, 1 line per entry
The following code below produces the attached file (see atop) If you open the text file and see multiple lines, turn off word wrap :D
[Test]
public async Task Simple_end_to_end_with_human_readable_json_journal_file()
{
Print("Given a memstate db configured to write journal extries as json, 1 line of json per journal entry");
var settings = new MemstateSettings { StreamName = "json-example" };
settings.Serializers.Register("a-unique-key", _ => new JsonSerializerAdapter(settings));
settings.Serializer = "a-unique-key";
var model1 = await new EngineBuilder(settings).BuildAsync<LedgerDB>();
Print("When I run a few commands");
await model1.ExecuteAsync(new InitAccount(accountNumber: 1, openingBalance: 100.11M, currency: '£'));
await model1.ExecuteAsync(new InitAccount(accountNumber: 2, openingBalance: 200.22M, currency: '£'));
await model1.ExecuteAsync(new Transfer(fromAccount: 1, toAccount: 2, amount: 0.01M, currency:'£'));
var accounts = await model1.ExecuteAsync(new GetAccounts());
await model1.DisposeAsync();
accounts.ForEach(Console.WriteLine);
Print("then the journal file should exist");
Assert.True(File.Exists("json-example.journal"));
Print("And the journal file should have saved the entries as text, 1 line per entry");
var lines = File.ReadAllLines("json-example.journal");
Assert.AreEqual(3, lines.Length);
StringAssert.Contains("M100.11", lines[0]);
StringAssert.Contains("M200.22", lines[1]);
StringAssert.Contains("M0.01", lines[2]);
// to view the journal file in an editor comment out the File.Delete in the test Setup/teardown.
// The journal file will be located in
// Memstate.Docs.GettingStarted\bin\Debug\netcoreapp2.0\json-example.journal
}
json-example.journal.txt
failing test
(Update : these tests are now out of date.)
The following code below produces the attached file (see atop) If you open the text file and see multiple lines, turn off word wrap :D