Example #1
0
        public async Task Vincular_Funcionario_Com_Empresa()
        {
            var builder = new FuncionarioBuilder()
                          .WithId(1)
                          .WithEmpresa();

            var funcionario = builder.Build();

            _funcionarioRepository
            .Setup(c => c.GetWithIncludes(It.IsAny <Predicate <Funcionario> >()))
            .ReturnsAsync(new List <Funcionario>()
            {
                funcionario
            });

            await _vinculadorDeFuncionarioEmpresa.Vincular(funcionario.Id, 1);

            Assert.True(_notificationContext.HasNotifications);
            _notificationContext.Notifications.Should().HaveCount(1);

            Assert.Contains(_notificationContext.Notifications,
                            n => n.Key.Equals("FuncionarioJaPossuiEmpresaVinculada"));

            _funcionarioRepository.Verify(r => r.Update(funcionario), Times.Never);
        }
        public async Task <IActionResult> VincularEmpresa(long funcionarioId, long empresaId)
        {
            await _vinculadorDeFuncionarioEmpresa.Vincular(funcionarioId, empresaId);

            return(Ok());
        }