Sync phone contacts and enable chat deletion

This commit is contained in:
Курнат Андрей
2026-07-13 21:10:10 +03:00
parent ff3f139889
commit 582f99ed0e
17 changed files with 636 additions and 49 deletions
+16
View File
@@ -125,6 +125,14 @@ public sealed class ApiSmokeTests : IDisposable
var contact = Assert.Single(contacts!);
Assert.Equal("mock-direct", contact.ExternalChatId);
Assert.Equal("Mock contact", contact.DisplayName);
Assert.True(contact.IsSavedContact);
var importedResponse = await client.PostAsJsonAsync(
"/api/contacts/import",
new ImportPhoneContactsRequest([new PhoneContactDto("+70000000000", "Mock contact")]));
await AssertStatusAsync(HttpStatusCode.OK, importedResponse);
var imported = await importedResponse.Content.ReadFromJsonAsync<ContactDto[]>(JsonOptions);
Assert.Single(imported!);
var response = await client.PostAsJsonAsync(
"/api/chats/direct",
@@ -134,6 +142,14 @@ public sealed class ApiSmokeTests : IDisposable
Assert.NotNull(chat);
Assert.Equal(contact.ExternalChatId, chat!.ExternalId);
Assert.Equal(contact.DisplayName, chat.Title);
var removeContact = await client.PostAsJsonAsync("/api/contacts/remove", new ContactUserRequest(contact.UserId));
await AssertStatusAsync(HttpStatusCode.NoContent, removeContact);
var deleteChat = await client.PostAsJsonAsync("/api/chats/delete", new ChatBulkActionRequest([chat.Id]));
await AssertStatusAsync(HttpStatusCode.NoContent, deleteChat);
var chats = await client.GetFromJsonAsync<ChatDto[]>("/api/chats", JsonOptions);
Assert.DoesNotContain(chats!, candidate => candidate.Id == chat.Id);
}
[Fact]