public void NaoDeveTerLikeRepetidoParaMesmaPostagem()
        {
            var likeParaSalvar  = LikeBuilder.Novo().Build();
            var likeParaRetorno = LikeBuilder.Novo().Build();

            likeParaSalvar.SetarId(0);
            likeParaRetorno.SetarId(0);
            likeParaSalvar.LikePostagens.Add(new LikePostagem(0, 2, likeParaSalvar, PostagemBuilder.Novo().Build()));
            likeParaRetorno.LikePostagens.Add(new LikePostagem(0, 2, likeParaSalvar, PostagemBuilder.Novo().Build()));

            _likeRepositorioMock.Setup(x => x.ObterPorId(likeParaSalvar.Id)).Returns(likeParaRetorno);
            Assert.Throws <EntitadeExcecao>(() => _likeServico.Salvar(likeParaSalvar)).ComMensagem("Não pode dar mais de um like para uma mesma postagem!");
        }
        public void DeveSalvarLike()
        {
            var likeParaSalvar = LikeBuilder.Novo().Build();

            likeParaSalvar.LikePostagens.Clear();

            _likeRepositorioMock.Setup(x => x.ObterPorId(likeParaSalvar.Id)).Returns(likeParaSalvar);


            _likeServico.Salvar(likeParaSalvar);

            _likeRepositorioMock.Verify(x => x.Salvar(It.Is <Like>(t => t.Usuario.Id == likeParaSalvar.Usuario.Id)));
        }
        public void DeveRetornarLike()
        {
            var likeParaSalvar  = LikeBuilder.Novo().Build();
            var likeParaRetorno = LikeBuilder.Novo().Build();

            likeParaSalvar.SetarId(0);
            likeParaRetorno.SetarId(0);
            likeParaSalvar.LikePostagens.Add(new LikePostagem(0, 2, likeParaSalvar, PostagemBuilder.Novo().Build()));
            likeParaRetorno.LikePostagens.Add(new LikePostagem(0, 2, likeParaSalvar, PostagemBuilder.Novo().Build()));

            _likeRepositorioMock.Setup(x => x.ObterPorId(likeParaSalvar.Id)).Returns(likeParaRetorno);

            Assert.True(_likeServico.JaFoiLiked(likeParaSalvar));
        }
Ejemplo n.º 4
0
        public void LikeBuilder_Create()
        {
            // Arrange
            var assemblerUnderTest = new LikeBuilderAssembler(null);
            var builder = new LikeBuilder()
            {
                Label = "test",
                Mode = MatchMode.Exact
            };

            // Act
            var restored = assemblerUnderTest.Create(builder);

            // Assert
            Assert.IsNotNull(restored);
            Assert.IsInstanceOf<LikeBuilderDTO>(restored);
            var dto = (LikeBuilderDTO)restored;
            Assert.AreEqual(builder.Label, dto.Label);
            Assert.AreEqual("Exact", dto.Mode);
        }
Ejemplo n.º 5
0
        static async Task Run(string[] args)
        {
            User.Clients.User client = new User.Clients.User
            {
                onProcessed     = (int jobId) => Console.WriteLine($"Job {jobId} processed."),
                onProcessUpdate = (int jobId, int count) => Console.WriteLine($"Job {jobId} updated."),
                onLogMessage    = (string message, int type) => Console.WriteLine($"Logged message: {message}"),
                onLogWork       = (InstaLog logMessages) =>
                {
                    foreach (var log in logMessages.Data)
                    {
                        Console.WriteLine($"ID: {log.ScheduleId} - logged message: {log.Message}");
                    }
                }
            };

            LikeBuilder builder = new LikeBuilder();

            builder
            //Specify account credentials
            .SetAccount("___USERNAME___", "___PASSWORD___")
            //Add tag (multiple tags allowed)
            .AddTag("instagram")
            //Set likes limit
            .SetLimit(1);

            client.AddJobBuilder(builder);

            Config config = new Config();

            config.UserAgent = "Mozilla/5.0 (Linux; U; Android 4.4.2; en-us; SCH-I535 Build/KOT49H) AppleWebKit/534.30 (KHTML, like Gecko) Version/4.0 Mobile Safari/534.30";

            Account bot = new Account(client, config);

            bot.Bots.Add(Bot.Instagram.Model.Enum.Job.TYPE_LIKE, new Like());

            await bot.Run();
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Creates a builder that can be used as a default for a field path.
        /// </summary>
        /// <param name="path"></param>
        /// <returns></returns>
        public virtual IParameterBuilder GetDefault(IFieldPath path)
        {
            IParameterBuilder b;

            if (path.Last.DataType == typeof(string))
            {
                b = new LikeBuilder(MatchMode.Anywhere);
            }
            else if (path.Last.DataType == typeof(DateTime))
            {
                b = new DateBetweenBuilder();
            }
            else if (IsNumeric(path.Last.DataType))
            {
                b = new BetweenBuilder();
            }
            else
            {
                b = new SimpleBuilder("=");
            }

            return(new JunctionBuilder(JunctionType.Disjunction, b));
        }
Ejemplo n.º 7
0
        public void NaoDevePostagemSerInvalida()
        {
            List <LikePostagem> listaPostagensInvalidas = null;

            Assert.Throws <EntitadeExcecao>(() => LikeBuilder.Novo().ComPostagens(listaPostagensInvalidas).Build()).ComMensagem("Há uma ou mais postagens inválidas");
        }
Ejemplo n.º 8
0
        public void NaoDeveUsuarioSerInvalido()
        {
            Usuario usuario = null;

            Assert.Throws <EntitadeExcecao>(() => LikeBuilder.Novo().ComUsuario(usuario).Build()).ComMensagem("Usuario inválido para o like");
        }