public void PerfilServices_AdicionarNovoEsporte_DeveAdicionarNovoEsporte()
        {
            //Arrange
            IPerfilServices   perfilServices = _perfilService;
            Guid              perfilId       = Guid.NewGuid();
            Guid              esporteId      = Guid.NewGuid();
            PerfilHabilidades perfil         = new PerfilHabilidades(Guid.NewGuid());
            Esporte           esporte        = new Futebol();

            _fixtureWrapper.Mocker.GetMock <IPerfilHabilidadesRepository>().Setup(r => r.ObterPorId(perfilId))
            .ReturnsAsync(perfil);

            _fixtureWrapper.Mocker.GetMock <IEsporteRepository>().Setup(r => r.ObterEsporteComHabilidadesPorId(esporteId))
            .ReturnsAsync(esporte);

            //Act
            perfilServices.AdicionarNovoEsporte(perfilId, esporteId);

            //Assert
            perfil.HabilidadesUsuario.Should().HaveCount(esporte.Habilidades.Count);

            perfil.EsportesUsuario.Should().HaveFlag(TipoEsporte.Futebol);

            _fixtureWrapper.Mocker.GetMock <IHabilidadeUsuarioRepository>()
            .Verify(x => x.AdicionarHabilidadesUsuario(It.IsAny <IList <HabilidadeUsuario> >()), Times.Once);

            _fixtureWrapper.Mocker.GetMock <IPerfilHabilidadesRepository>()
            .Verify(x => x.AtualizarPerfilHabilidades(perfil), Times.Once);

            _fixtureWrapper.Mocker.GetMock <IHabilidadeUsuarioRepository>()
            .Verify(x => x.Commit(), Times.Once);

            _fixtureWrapper.Mocker.GetMock <IPerfilHabilidadesRepository>()
            .Verify(x => x.Commit(), Times.Once);
        }
        public void PerfilServices_AdicionarNovoEsporte_NaoDeveAdicionarNovoEsporteEDeveNotificar()
        {
            //Arrange
            IPerfilServices perfilServices = _perfilService;

            //Act
            perfilServices.AdicionarNovoEsporte(Guid.NewGuid(), Guid.NewGuid());

            //Assert
            _fixtureWrapper.Mocker.GetMock <IMediatrHandler>()
            .Verify(x => x.Notify(It.IsAny <DomainNotification>()), Times.Exactly(2));
        }
        public void PerfilServices_AvaliarPerfil_NaoDeveAdicionarAvaliacaoNasHabilidadesDoUsuarioEDeveNotificar()
        {
            //Arrange
            IPerfilServices perfilServices = _perfilService;

            //Act
            perfilServices.AvaliarPerfil(Guid.NewGuid(), default);

            //Assert
            _fixtureWrapper.Mocker.GetMock <IMediatrHandler>()
            .Verify(x => x.Notify(It.IsAny <DomainNotification>()), Times.Once);
        }
        public void PerfilServices_AvaliarPerfil_DeveAdicionarAvaliacaoNasHabilidadesDoUsuario()
        {
            //Arrange
            IPerfilServices   perfilServices = _perfilService;
            PerfilHabilidades perfil         = _fixtureWrapper.PerfilHabilidades.CriarPerfilHabilidadeValido();

            for (int i = 0; i < 5; i++)
            {
                perfil.AdicionarHabilidadeUsuario(_fixtureWrapper.HabilidadeUsuario.CriarHabilidadeUsuarioValido());
            }

            IDictionary <Guid, double> habilidadesAvaliadas = new Dictionary <Guid, double>();

            Faker faker = new Faker("pt_BR");

            for (int i = 0; i < 5; i++)
            {
                habilidadesAvaliadas.Add(perfil.HabilidadesUsuario.ElementAt(i).Id, faker.Random.Double(0, 10));
            }

            _fixtureWrapper.Mocker.GetMock <IPerfilHabilidadesRepository>()
            .Setup(x => x.ObterPorIdComHabilidades(perfil.Id))
            .ReturnsAsync(perfil);

            //Act
            perfilServices.AvaliarPerfil(perfil.Id, habilidadesAvaliadas);

            //Assert
            perfil.HabilidadesUsuario.SelectMany(h => h.Avaliacoes).Should().HaveCount(habilidadesAvaliadas.Count);

            _fixtureWrapper.Mocker.GetMock <IHabilidadeUsuarioRepository>()
            .Verify(x => x.AdicionarAvaliacaoHabilidade(It.IsAny <AvaliacaoHabilidade>()), Times.Exactly(habilidadesAvaliadas.Count));

            _fixtureWrapper.Mocker.GetMock <IHabilidadeUsuarioRepository>()
            .Verify(x => x.AtualizarHabilidadesUsuario(It.IsAny <IEnumerable <HabilidadeUsuario> >()), Times.Once);

            _fixtureWrapper.Mocker.GetMock <IPerfilHabilidadesRepository>()
            .Verify(x => x.AtualizarPerfilHabilidades(perfil), Times.Once);

            _fixtureWrapper.Mocker.GetMock <IHabilidadeUsuarioRepository>()
            .Verify(x => x.Commit(), Times.Once);

            _fixtureWrapper.Mocker.GetMock <IPerfilHabilidadesRepository>()
            .Verify(x => x.Commit(), Times.Once);
        }
 public PerfilServicesTests(FixtureWrapper fixtureWrapper)
 {
     _fixtureWrapper = fixtureWrapper;
     _perfilService  = _fixtureWrapper.ObterPerfilService();
 }
 public PerfilHabilidadesCommandHandler(IPerfilServices perfilServices, IPerfilHabilidadesRepository repository, IMediatrHandler mediatr) : base(repository, mediatr)
 {
     _perfilHabilidadesRepository = repository;
     _perfilServices = perfilServices;
 }
Exemple #7
0
 public PerfilsController(IPerfilServices services)
 {
     _services = services;
 }
 public UsuarioController(IUsuarioServices usuarioServices, IEmpresaServices empresaServices, IPerfilServices perfilServices)
 {
     _usuarioServices = usuarioServices;
     _empresaServices = empresaServices;
     _perfilServices = perfilServices;
 }