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 PerfilHabilidades_ObterHabilidadesPorEsporte_DeveRetornarHabilidadesProcurandoPorEsporte()
        {
            //Arrange
            PerfilHabilidades perfil  = _fixtureWrapper.PerfilHabilidades.CriarPerfilHabilidadeValido();
            Esporte           esporte = _fixtureWrapper.Esporte.CriarEsporteValido();

            IEnumerable <HabilidadeUsuario> habilidades = new HabilidadeUsuario[]
            {
                _fixtureWrapper.HabilidadeUsuario.CriarHabilidadeUsuarioValido(),
                                            _fixtureWrapper.HabilidadeUsuario.CriarHabilidadeUsuarioValido()
            };

            foreach (HabilidadeUsuario habilidade in habilidades)
            {
                habilidade.Esporte = esporte;
            }

            perfil.AdicionarHabilidadesUsuario(habilidades);

            //Act
            IEnumerable <HabilidadeUsuario> habilidadesEncontradas = perfil.ObterHabilidadesPorEsporte(esporte.TipoEsporte);

            //Assert
            perfil.HabilidadesUsuario.Should().HaveCount(2);
        }
        public void PerfilHabilidades_Validate_DeveCriarPerfilHabilidadesValido()
        {
            //Arrange & Act
            PerfilHabilidades novoPerfil = _fixtureWrapper.PerfilHabilidades.CriarPerfilHabilidadeValido();

            //Assert
            novoPerfil.Should().NotBeNull();
            novoPerfil.Ativo.Should().BeTrue();
        }
        public void PerfilHabilidades_AdicionarHabilidadeUsuario_DeveAdicionarUmaHabilidadeDeUsuarioAoPerfil()
        {
            //Arrange
            PerfilHabilidades perfil = _fixtureWrapper.PerfilHabilidades.CriarPerfilHabilidadeValido();

            HabilidadeUsuario habilidade = _fixtureWrapper.HabilidadeUsuario.CriarHabilidadeUsuarioValido();

            //Act
            perfil.AdicionarHabilidadeUsuario(habilidade);

            //Assert
            perfil.HabilidadesUsuario.Should().HaveCount(1);
        }
        public void PerfilHabilidades_AdicionarHabilidadesUsuario_DeveAdicionarUmaColecaoDeHabilidadesDeUsuarioAoPerfil()
        {
            //Arrange
            PerfilHabilidades perfil = _fixtureWrapper.PerfilHabilidades.CriarPerfilHabilidadeValido();

            IEnumerable <HabilidadeUsuario> habilidades = new HabilidadeUsuario[]
            {
                _fixtureWrapper.HabilidadeUsuario.CriarHabilidadeUsuarioValido(),
                                            _fixtureWrapper.HabilidadeUsuario.CriarHabilidadeUsuarioValido()
            };

            //Act
            perfil.AdicionarHabilidadesUsuario(habilidades);

            //Assert
            perfil.HabilidadesUsuario.Should().HaveCount(2);
        }
        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);
        }
Example #7
0
 public void AtualizarPerfilHabilidades(PerfilHabilidades perfilHabilidades)
 {
     _context.PerfisHabilidade.Update(perfilHabilidades);
 }
Example #8
0
 public void AdicionarPerfilHabilidades(PerfilHabilidades perfilHabilidades)
 {
     _context.PerfisHabilidade.Add(perfilHabilidades);
 }