Search user by username with send message test. (#356)

* Search user by username with send message test.
This commit is contained in:
Mikhail 2016-12-28 15:37:34 +01:00 committed by Andres G. Aragoneses
parent 0428753b2b
commit 47d1c10c9d
4 changed files with 67 additions and 0 deletions

View file

@ -323,6 +323,7 @@ namespace TLSharp.Tests
var result = await client.IsPhoneRegisteredAsync(NumberToAuthenticate);
Assert.IsTrue(result);
}
public virtual async Task FloodExceptionShouldNotCauseCannotReadPackageLengthError()
{
for (int i = 0; i < 50; i++)
@ -338,5 +339,42 @@ namespace TLSharp.Tests
}
}
}
public virtual async Task SendMessageByUserNameTest()
{
UserNameToSendMessage = ConfigurationManager.AppSettings[nameof(UserNameToSendMessage)];
if (string.IsNullOrWhiteSpace(UserNameToSendMessage))
throw new Exception($"Please fill the '{nameof(UserNameToSendMessage)}' setting in app.config file first");
var client = NewClient();
await client.ConnectAsync();
var result = await client.SearchUserAsync(UserNameToSendMessage);
var user = result.users.lists
.Where(x => x.GetType() == typeof(TLUser))
.OfType<TLUser>()
.FirstOrDefault(x => x.username == UserNameToSendMessage.TrimStart('@'));
if (user == null)
{
var contacts = await client.GetContactsAsync();
user = contacts.users.lists
.Where(x => x.GetType() == typeof(TLUser))
.OfType<TLUser>()
.FirstOrDefault(x => x.username == UserNameToSendMessage.TrimStart('@'));
}
if (user == null)
{
throw new System.Exception("Username was not found: " + UserNameToSendMessage);
}
await client.SendTypingAsync(new TLInputPeerUser() { user_id = user.id });
Thread.Sleep(3000);
await client.SendMessageAsync(new TLInputPeerUser() { user_id = user.id }, "TEST");
}
}
}