Skip to content

Commit 002b1b9

Browse files
committed
fix: test
1 parent 2a72546 commit 002b1b9

File tree

3 files changed

+23
-14
lines changed

3 files changed

+23
-14
lines changed

ProjectVG.Tests/Application/Integration/CharacterServiceIntegrationTests.cs

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,7 @@ public async Task CreateDeleteAndTryRetrieveCharacterAsync_ShouldRemoveFromDatab
141141
existsBefore.Should().BeTrue();
142142

143143
// Act - Delete
144-
await _characterService.DeleteCharacterAsync(createdCharacter.Id);
144+
await _characterService.DeleteCharacterAsync(createdCharacter.Id, createCommand.UserId!.Value);
145145

146146
// Assert - Should not exist
147147
var existsAfter = await _characterService.CharacterExistsAsync(createdCharacter.Id);
@@ -160,24 +160,26 @@ public async Task DeleteNonExistentCharacter_ShouldThrowNotFoundException()
160160
var nonExistentId = Guid.NewGuid();
161161

162162
// Act & Assert
163+
var userId = Guid.NewGuid();
163164
await Assert.ThrowsAsync<NotFoundException>(
164-
() => _characterService.DeleteCharacterAsync(nonExistentId));
165+
() => _characterService.DeleteCharacterAsync(nonExistentId, userId));
165166
}
166167

167168
[Fact]
168169
public async Task DeleteCharacterFromMultipleCharacters_ShouldOnlyDeleteSpecificCharacter()
169170
{
170171
// Arrange
171172
await _fixture.ClearDatabaseAsync();
172-
var character1 = await _characterService.CreateCharacterWithFieldsAsync(
173-
TestDataBuilder.CreateCreateCharacterWithFieldsCommand("Character 1"));
174-
var character2 = await _characterService.CreateCharacterWithFieldsAsync(
175-
TestDataBuilder.CreateCreateCharacterWithFieldsCommand("Character 2"));
176-
var character3 = await _characterService.CreateCharacterWithFieldsAsync(
177-
TestDataBuilder.CreateCreateCharacterWithFieldsCommand("Character 3"));
173+
var command1 = TestDataBuilder.CreateCreateCharacterWithFieldsCommand("Character 1");
174+
var command2 = TestDataBuilder.CreateCreateCharacterWithFieldsCommand("Character 2");
175+
var command3 = TestDataBuilder.CreateCreateCharacterWithFieldsCommand("Character 3");
176+
177+
var character1 = await _characterService.CreateCharacterWithFieldsAsync(command1);
178+
var character2 = await _characterService.CreateCharacterWithFieldsAsync(command2);
179+
var character3 = await _characterService.CreateCharacterWithFieldsAsync(command3);
178180

179181
// Act - Delete middle character
180-
await _characterService.DeleteCharacterAsync(character2.Id);
182+
await _characterService.DeleteCharacterAsync(character2.Id, command2.UserId!.Value);
181183

182184
// Assert
183185
var allCharacters = await _characterService.GetAllCharactersAsync();
@@ -255,7 +257,7 @@ public async Task CompleteCharacterLifecycle_ShouldWorkCorrectly()
255257
retrievedAfterUpdate.Name.Should().Be("Updated Lifecycle Character");
256258

257259
// Delete
258-
await _characterService.DeleteCharacterAsync(createdCharacter.Id);
260+
await _characterService.DeleteCharacterAsync(createdCharacter.Id, createCommand.UserId!.Value);
259261

260262
// Verify deletion
261263
var existsAfterDelete = await _characterService.CharacterExistsAsync(createdCharacter.Id);

ProjectVG.Tests/Application/Services/Character/CharacterServiceTests.cs

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -489,15 +489,17 @@ public async Task DeleteCharacterAsync_WithValidId_ShouldDeleteCharacter()
489489
{
490490
// Arrange
491491
var characterId = Guid.NewGuid();
492+
var userId = Guid.NewGuid();
492493
var character = TestDataBuilder.CreateCharacterEntityWithIndividualConfig("TestCharacter", characterId);
494+
character.UserId = userId;
493495

494496
_mockCharacterRepository.Setup(x => x.GetByIdAsync(characterId))
495497
.ReturnsAsync(character);
496498
_mockCharacterRepository.Setup(x => x.DeleteAsync(characterId))
497499
.Returns(Task.CompletedTask);
498500

499501
// Act
500-
await _characterService.DeleteCharacterAsync(characterId);
502+
await _characterService.DeleteCharacterAsync(characterId, userId);
501503

502504
// Assert
503505
_mockCharacterRepository.Verify(x => x.GetByIdAsync(characterId), Times.Once);
@@ -509,13 +511,14 @@ public async Task DeleteCharacterAsync_WithNonExistentId_ShouldThrowNotFoundExce
509511
{
510512
// Arrange
511513
var characterId = Guid.NewGuid();
514+
var userId = Guid.NewGuid();
512515

513516
_mockCharacterRepository.Setup(x => x.GetByIdAsync(characterId))
514517
.ReturnsAsync((ProjectVG.Domain.Entities.Characters.Character?)null);
515518

516519
// Act & Assert
517520
var exception = await Assert.ThrowsAsync<NotFoundException>(
518-
() => _characterService.DeleteCharacterAsync(characterId)
521+
() => _characterService.DeleteCharacterAsync(characterId, userId)
519522
);
520523

521524
exception.ErrorCode.Should().Be(ErrorCode.CHARACTER_NOT_FOUND);
@@ -528,15 +531,17 @@ public async Task DeleteCharacterAsync_ShouldLogCharacterDeletion()
528531
{
529532
// Arrange
530533
var characterId = Guid.NewGuid();
534+
var userId = Guid.NewGuid();
531535
var character = TestDataBuilder.CreateCharacterEntityWithIndividualConfig("DeleteTestCharacter", characterId);
536+
character.UserId = userId;
532537

533538
_mockCharacterRepository.Setup(x => x.GetByIdAsync(characterId))
534539
.ReturnsAsync(character);
535540
_mockCharacterRepository.Setup(x => x.DeleteAsync(characterId))
536541
.Returns(Task.CompletedTask);
537542

538543
// Act
539-
await _characterService.DeleteCharacterAsync(characterId);
544+
await _characterService.DeleteCharacterAsync(characterId, userId);
540545

541546
// Assert
542547
_mockLogger.Verify(

ProjectVG.Tests/Application/TestUtilities/TestDataBuilder.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,8 @@ public static CreateCharacterWithFieldsCommand CreateCreateCharacterWithFieldsCo
111111
string? speechStyle = "Casual",
112112
string? summary = "Test character summary",
113113
string? userAlias = "User",
114-
string? imageUrl = null)
114+
string? imageUrl = null,
115+
Guid? userId = null)
115116
{
116117
return new CreateCharacterWithFieldsCommand
117118
{
@@ -120,6 +121,7 @@ public static CreateCharacterWithFieldsCommand CreateCreateCharacterWithFieldsCo
120121
IsActive = isActive,
121122
VoiceId = voiceId,
122123
ImageUrl = imageUrl ?? string.Empty,
124+
UserId = userId ?? Guid.NewGuid(),
123125
IndividualConfig = new IndividualConfig
124126
{
125127
Role = role,

0 commit comments

Comments
 (0)