コード例 #1
0
        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()));
        }
コード例 #3
0
        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();
        }
コード例 #5
0
 private void When(MunicipalityWasNamed @event)
 {
     _names[@event.Language] = new MunicipalityName(@event.Name, @event.Language);
 }