Example #1
0
        public async void CalculeContratosChamandoInicioDeFormaIndevida()
        {
            var quantidadeCalls       = 500;
            var mockCalculoRepository = Substitute.For <ICalculoRepository>();

            mockCalculoRepository
            .InsiraValoresCalculados(Arg.Any <ComponentesCalculados>())
            .Returns(Task.CompletedTask);

            var mockContratoRepository = Substitute.For <IContratoRepository>();

            mockContratoRepository
            .ObterContratosVigentes(Arg.Any <DateTime>())
            .Returns(CenarioContrato.CrieCenarioValido(quantidadeCalls));

            var mockRabbtimq = Substitute.For <IRabbitMQBus>();

            var mockUser = Substitute.For <IUser>();

            var builder = new CalculoBuilder(DateTime.Now,
                                             EnumFolhaDePagamento.Mensal,
                                             mockCalculoRepository,
                                             Substitute.For <IFeedbackExecucaoCalculoServiceDomain>());

            var ex = await Assert.ThrowsAsync <ArgumentException>(() => builder.CalculeContratos());
        }
Example #2
0
        public void CalculeContratos()
        {
            var quantidadeCalls       = 500;
            var mockCalculoRepository = Substitute.For <ICalculoRepository>();

            mockCalculoRepository
            .InsiraValoresCalculados(Arg.Any <ComponentesCalculados>())
            .Returns(Task.CompletedTask);

            var mockContratoRepository = Substitute.For <IContratoRepository>();

            mockContratoRepository
            .ObterContratosVigentes(Arg.Any <DateTime>())
            .Returns(CenarioContrato.CrieCenarioValido(quantidadeCalls));

            var builder = new CalculoBuilder(DateTime.Now,
                                             EnumFolhaDePagamento.Mensal,
                                             mockCalculoRepository,
                                             Substitute.For <IFeedbackExecucaoCalculoServiceDomain>());

            var task = builder.InicieCalculo(mockContratoRepository)
                       .CalculeContratos();

            while (task.Status != TaskStatus.RanToCompletion)
            {
            }
            Assert.True(builder.IdExecucao != Guid.Empty);
            mockCalculoRepository.Received(quantidadeCalls).InsiraValoresCalculados(Arg.Any <ComponentesCalculados>());
        }