public void WithNewNameAndMuncipalityHasName(CrabLanguage language, Language expectedLanguage) { var newName = _fixture.Create <string>(); var municipalityNameFromCrab = _fixture .Build <ImportMunicipalityNameFromCrab>() .With(x => x.MunicipalityName, new CrabMunicipalityName(newName, language)) .Create(); var municipalityWasRegistered = new MunicipalityWasRegistered(_municipalityId, _nisCode); ((ISetProvenance)municipalityWasRegistered).SetProvenance(CreateProvenance(1)); var municipalityWasNamed = new MunicipalityWasNamed(_municipalityId, new MunicipalityName(newName, expectedLanguage)); ((ISetProvenance)municipalityWasNamed).SetProvenance(CreateProvenance(1)); Assert( new Scenario() .Given(_municipalityId, municipalityWasRegistered, _fixture.Create <MunicipalityWasNamed>()) .When(municipalityNameFromCrab) .Then(_municipalityId, municipalityWasNamed, municipalityNameFromCrab.ToLegacyEvent())); }
public void WithName(CrabLanguage language, Language expectedLanguage) { var name = _fixture.Create <string>(); var municipalityNameFromCrab = _fixture .Build <ImportMunicipalityNameFromCrab>() .With(x => x.MunicipalityName, new CrabMunicipalityName(name, language)) .Create(); var provenance = new MunicipalityProvenanceFactory().CreateFrom(1, false, municipalityNameFromCrab.Timestamp, municipalityNameFromCrab.Modification, municipalityNameFromCrab.Operator, municipalityNameFromCrab.Organisation); var municipalityWasRegistered = new MunicipalityWasRegistered(_municipalityId, _nisCode); ((ISetProvenance)municipalityWasRegistered).SetProvenance(provenance); var municipalityWasNamed = new MunicipalityWasNamed(_municipalityId, new MunicipalityName(name, expectedLanguage)); ((ISetProvenance)municipalityWasNamed).SetProvenance(provenance); Assert( new Scenario() .Given(_municipalityId, municipalityWasRegistered) .When(municipalityNameFromCrab) .Then(_municipalityId, municipalityWasNamed, municipalityNameFromCrab.ToLegacyEvent())); }
public void WithNewNameAsNullAndCorrectionAndMuncipalityHasName(CrabLanguage language, Language expectedLanguage) { var municipalityNameFromCrab = _fixture .Build <ImportMunicipalityNameFromCrab>() .With(x => x.Modification, CrabModification.Correction) .With(x => x.MunicipalityName, new CrabMunicipalityName(null, language)) .Create(); var municipalityWasRegistered = new MunicipalityWasRegistered(_municipalityId, _nisCode); ((ISetProvenance)municipalityWasRegistered).SetProvenance(CreateProvenance(1)); var municipalityNameWasCorrectedToCleared = new MunicipalityNameWasCorrectedToCleared(_municipalityId, expectedLanguage); ((ISetProvenance)municipalityNameWasCorrectedToCleared).SetProvenance(CreateProvenance(1)); var municipalityWasNamed = new MunicipalityWasNamed(_municipalityId, new MunicipalityName(_fixture.Create <string>(), expectedLanguage)); ((ISetProvenance)municipalityWasNamed).SetProvenance(CreateProvenance(1)); Assert( new Scenario() .Given(_municipalityId, municipalityWasRegistered, municipalityWasNamed) .When(municipalityNameFromCrab) .Throws(new NoNameException("Cannot give a municipality an empty name."))); }
public async Task Given_MunicipalityWasNamed_twice_and_municipality_was_registered_Then_expected_item_is_updated() { var projection = new MunicipalityListProjections(); var resolver = ConcurrentResolve.WhenEqualToHandlerMessageType(projection.Handlers); var crabMunicipalityId = new CrabMunicipalityId(1); var municipalityId = MunicipalityId.CreateFor(crabMunicipalityId); var nisCode = "456"; var municipalityWasRegistered = new MunicipalityWasRegistered(municipalityId, new NisCode(nisCode)); ((ISetProvenance)municipalityWasRegistered).SetProvenance(_provenance); var municipalityWasNamed = new MunicipalityWasNamed(municipalityId, new MunicipalityName("test", Language.Dutch)); ((ISetProvenance)municipalityWasNamed).SetProvenance(_provenance); var wasNamed = new MunicipalityWasNamed(municipalityId, new MunicipalityName("test21", Language.French)); ((ISetProvenance)wasNamed).SetProvenance(_provenance); await new ConnectedProjectionScenario <LegacyContext>(resolver) .Given( new Envelope <MunicipalityWasRegistered>(new Envelope( municipalityWasRegistered, EmptyMetadata)), new Envelope <MunicipalityWasNamed>(new Envelope( municipalityWasNamed, EmptyMetadata)), new Envelope <MunicipalityWasNamed>(new Envelope( wasNamed, EmptyMetadata))) .Verify(async context => { var municipality = await context.MunicipalityList.FirstAsync(a => a.MunicipalityId == municipalityId); municipality.MunicipalityId.Should().Be((Guid)municipalityId); municipality.NameDutch.Should().Be("test"); municipality.NameFrench.Should().Be("test21"); return(VerificationResult.Pass()); }) .Assert(); }
private void When(MunicipalityWasNamed @event) { _names[@event.Language] = new MunicipalityName(@event.Name, @event.Language); }