Ejemplo n.º 1
0
        public ExampleAggregateDetailResponse(
            ExampleAggregateDetail exampleAggregateDetail)
        {
            Id = exampleAggregateDetail.Id;

            Links = new List <Link>
            {
                new Link("/", Link.Relations.Home, WebRequestMethods.Http.Get),
                new Link("/example-aggregates", Link.Relations.ExampleAggregates, WebRequestMethods.Http.Get)
            };
        }
Ejemplo n.º 2
0
        public Task when_example_aggregates_are_named()
        {
            var previousEvents = Fixture
                                 .CreateMany <ExampleAggregateWasBorn>(new Random().Next(1, 100))
                                 .ToList();

            var events = previousEvents
                         .Select(x =>
                                 new ExampleAggregateWasNamed(
                                     new ExampleAggregateId(x.ExampleAggregateId),
                                     Fixture.Create <ExampleAggregateName>()))
                         .ToList();

            var expected = events
                           .Select(x =>
            {
                var record = new ExampleAggregateDetail {
                    Id = x.ExampleAggregateId
                };

                switch (x.Language)
                {
                case Language.Dutch:
                    record.NameDutch = x.Name;
                    break;

                case Language.French:
                    record.NameFrench = x.Name;
                    break;

                case Language.German:
                    record.NameGerman = x.Name;
                    break;

                case Language.English:
                    record.NameEnglish = x.Name;
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }

                return(record);
            })
                           .ToList();

            return(new ExampleAggregateDetailProjections()
                   .Scenario()
                   .Given(previousEvents.Cast <object>().Union(events))
                   .Expect(TestOutputHelper, expected));
        }
Ejemplo n.º 3
0
        public Task when_example_aggregates_are_born()
        {
            var data = Fixture
                       .CreateMany <ExampleAggregateWasBorn>(new Random().Next(1, 100))
                       .Select(@event =>
            {
                var expectedRecord = new ExampleAggregateDetail
                {
                    Id = @event.ExampleAggregateId
                };

                return(new
                {
                    ExampleAggregateWasBorn = @event,
                    ExpectedRecord = expectedRecord
                });
            }).ToList();

            return(new ExampleAggregateDetailProjections()
                   .Scenario()
                   .Given(data.Select(d => d.ExampleAggregateWasBorn))
                   .Expect(TestOutputHelper, data.Select(d => d.ExpectedRecord)));
        }