public void ItIsNotPossibleToAddTranslationWithIncorrectGermanWord(string germanWord) { var command = new AddPolishGermanTranslationCommand("krzesło", germanWord); var handler = new AddPolishGermanTranslationCommandHandler(); var events = new EventRecorder(); Assert.Throws <Exception>(() => { handler.Execute(command, events.Record, () => 1); }); events.AssertAllEvents(e => Assert.IsNotType <PolishGermanTranslationAddedEvent>(e)); }
public void Execute(AddPolishGermanTranslationCommand command, EventPublisher eventPublisher, IdFactory idFactory) { if (string.IsNullOrWhiteSpace(command.PolishWord)) { throw new Exception(); } if (string.IsNullOrWhiteSpace(command.GermanWord)) { throw new Exception(); } var translationId = idFactory(); eventPublisher(new PolishGermanTranslationAddedEvent(translationId, command.PolishWord, command.GermanWord)); }
public void ItIsPossibleToAddTranslation() { var command = new AddPolishGermanTranslationCommand("krzesło", "der Stuhl"); var handler = new AddPolishGermanTranslationCommandHandler(); var events = new EventRecorder(); handler.Execute(command, events.Record, () => 1); events.AssertRecordedOneEvent <PolishGermanTranslationAddedEvent>( e => { Assert.Equal("krzesło", e.PolishWord); Assert.Equal("der Stuhl", e.GermanWord); Assert.Equal(1, e.TranslationId); }); }