private static (IRill Rill, InterceptingStore, IRillTransaction Transaction) NewScenario() { var rill = RillFactory.Synchronous(RillReference.New("rill-tran-tests")); var tran = RillTransaction.Begin(rill); return(rill, new InterceptingStore(), tran); }
public void Can_be_reconstructed() { var org = RillReference.New(Fake.Strings.Random()); var reconstructed = RillReference.From(org.Name, org.Id); org.Should().Be(reconstructed); }
public void Can_be_constructed() { var name = Fake.Strings.Random(); var constructed = RillReference.New(name); constructed.Name.Should().Be(name); constructed.Id.Should().NotBeEmpty(); }
public void New_uses_sensible_defaults() { var reference = RillReference.New("test"); var header = RillDetails.New(reference); header.Reference.Should().Be(reference); header.Sequence.Should().Be(Sequence.None); header.LastChangedAt.Should().Be(header.CreatedAt); ((DateTime)header.CreatedAt).Should().BeCloseTo(DateTime.UtcNow, TimeSpan.FromMilliseconds(500)); ((DateTime)header.LastChangedAt).Should().BeCloseTo(DateTime.UtcNow, TimeSpan.FromMilliseconds(500)); }
public void Can_not_be_constructed_When_last_changed_takes_presence_before_created() { var ts = DateTime.UtcNow; Action failing = () => RillDetails.From( RillReference.New("test"), Sequence.First, Timestamp.From(ts), Timestamp.From(ts.AddMilliseconds(-1))); failing.Should() .ThrowExactly <ArgumentException>() .WithMessage("Last changed can not take presence before Created timestamp."); }
public static async Task Main() { var config = CreateConfiguration(); var orderStore = await CreateEfRillStoreAsync(config); var rillReference = RillReference.New("order"); await PlaceAndApproveOrderAsync(orderStore, rillReference); await ShipOrderAsync(orderStore, rillReference); Console.WriteLine("**************************"); Console.WriteLine("All commits:"); Console.WriteLine("**************************"); await foreach (var commit in orderStore.ReadCommitsAsync(rillReference)) { Console.WriteLine(commit); } Console.WriteLine("**************************"); await orderStore.DeleteAsync(rillReference); }
private static IRill NewSut() => RillFactory.Synchronous(RillReference.New("sync-rill-tests"));
public void Can_not_be_constructed_if_parts_are_missing() { Action missingName = () => RillReference.New(string.Empty); missingName.Should().Throw <ArgumentException>().And.ParamName.Should().Be("name"); }