/// <summary> /// Initializes a new instance of the <see cref="TestRoot"/> class. /// </summary> /// <param name="command">Create command.</param> public TestRoot(TestCreateCommand command) : base(command.AggregateRootId) { PublishEvent(new TestCreatedEvent { TestData = command.TestData }); }
public void CopyMetadataFromWhereMetadataContainsDataNotFromMetadataKeyEnum() { var cmd = new TestCreateCommand(); cmd.Metadata.Add((MetadataKey)111, "SomeCustomData"); var ev = new TestCreatedEvent(); cmd.CopyMetadata(ev); ev.Metadata[(MetadataKey)111].Should().Be("SomeCustomData"); }
public void Deserialize_CommandWithMetadata_WorksCorrectly() { var command = new TestCreateCommand { AggregateRootId = Unified.NewCode(), Metadata = new Dictionary <MetadataKey, string> { { MetadataKey.UserId, Unified.NewCode() } } }; var serialized = AzureTableSerializer.Serialize(command, true); var deserialized = AzureTableSerializer.Deserialize(Entity(serialized)); deserialized.Should().BeEquivalentTo(command, options => options .Excluding(o => o.Created)); }
public void CopyMetadataFromSuccessTest() { var cmd = new TestCreateCommand(); cmd.Metadata.Add(MetadataKey.AgreegateType, "Test"); cmd.Metadata.Add(MetadataKey.UserId, Unified.NewCode()); var ev = new TestCreatedEvent(); cmd.CopyMetadata(ev); ev.Metadata[MetadataKey.AgreegateType].Should().Be(cmd.Metadata[MetadataKey.AgreegateType]); ev.Metadata[MetadataKey.UserId].Should().Be(cmd.Metadata[MetadataKey.UserId]); ev.Metadata.TryGetValue(MetadataKey.RequestHeaders, out _).Should().BeFalse(); ev.Metadata.TryGetValue(MetadataKey.Roles, out _).Should().BeFalse(); }
public void CallTheInnerMediatorSend() { var mocks = new MockRepository(); var innerMediator = MockInnerMediator(); var command = new TestCreateCommand(); innerMediator .Expect(m => m.Send(command)) .Return(0) .Repeat.Once(); Mediator.Send(command); mocks.VerifyAll(); }
public Task <TestDetailsResponse> CreateTest([FromBody] TestCreateCommand command, CancellationToken cancellationToken) { return(mediator.Send(command, cancellationToken)); }