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)); }
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); }
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(); }
/// <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)); }
public void NaoDevePostagemSerInvalida() { List <LikePostagem> listaPostagensInvalidas = null; Assert.Throws <EntitadeExcecao>(() => LikeBuilder.Novo().ComPostagens(listaPostagensInvalidas).Build()).ComMensagem("Há uma ou mais postagens inválidas"); }
public void NaoDeveUsuarioSerInvalido() { Usuario usuario = null; Assert.Throws <EntitadeExcecao>(() => LikeBuilder.Novo().ComUsuario(usuario).Build()).ComMensagem("Usuario inválido para o like"); }