public void Deveria_atualizar_o_garantia_recebido_na_proposta()
        {
            var proposalId       = Guid.NewGuid();
            var warrantyId       = Guid.NewGuid();
            var warrantyValue    = 3_000M;
            var warrantyProvince = "SC";

            List <Proposal> proposals = new List <Proposal>()
            {
                new Proposal(proposalId, 0, 0)
                .Add(new Warranty(warrantyId, 0, "Batman"))
            };

            String stringEvent = $"{Guid.NewGuid()},proposal,updated,{DateTime.Now},{proposalId}," +
                                 $"{warrantyId},{warrantyValue},{warrantyProvince}";

            var @event = new WarrantyUpdatedEvent(stringEvent.Split(','));

            @event.Change(ref proposals);

            var proposal = proposals.First();

            proposal.Warranties.Should().HaveCount(1);

            var warranty = proposal.Warranties.First();

            warranty.Id.Should().Be(warrantyId);
            warranty.Value.Should().Be(warrantyValue);
            warranty.Province.Should().Be(warrantyProvince);
        }
Пример #2
0
        public void Consume(WarrantyUpdatedEvent ev)
        {
            var currentProposal = _repo.GetById(ev.ProposalId);
            var warranty        = currentProposal.Warranties.Single(w => w.Id == ev.WarrantyId);

            warranty.Value    = ev.Value;
            warranty.Province = ev.Province;
            currentProposal.Events.Add(ev);
            _repo.Update(currentProposal);
        }