feat(DbRepositoryTests): ReadAsync_ShouldReturnUpdated und ReadAsync_ShouldNotReturnDeleted Tests
This commit is contained in:
parent
c955220310
commit
85787e7054
@ -16,5 +16,5 @@ public interface IRepository<TEntity>
|
|||||||
|
|
||||||
public Task UpdateAsync<TDto>(TDto dto, Expression<Func<TEntity, bool>> expression, CancellationToken ct = default);
|
public Task UpdateAsync<TDto>(TDto dto, Expression<Func<TEntity, bool>> expression, CancellationToken ct = default);
|
||||||
|
|
||||||
public Task DeleteAsync<TDto>(Expression<Func<TEntity, bool>> expression, CancellationToken ct = default);
|
public Task DeleteAsync(Expression<Func<TEntity, bool>> expression, CancellationToken ct = default);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -64,7 +64,7 @@ public class DbRepository<TDbContext, TEntity> : IRepository<TEntity> where TDbC
|
|||||||
await Context.SaveChangesAsync(ct);
|
await Context.SaveChangesAsync(ct);
|
||||||
}
|
}
|
||||||
|
|
||||||
public virtual async Task DeleteAsync<TDto>(Expression<Func<TEntity, bool>> expression, CancellationToken ct = default)
|
public virtual async Task DeleteAsync(Expression<Func<TEntity, bool>> expression, CancellationToken ct = default)
|
||||||
{
|
{
|
||||||
var entities = await Entities.Where(expression).ToListAsync(ct);
|
var entities = await Entities.Where(expression).ToListAsync(ct);
|
||||||
|
|
||||||
|
|||||||
@ -63,7 +63,51 @@ public class DbRepositoryTests
|
|||||||
var readUser = await _userRepo.ReadFirstOrDefaultAsync(u => u.Id == createdUser.Id);
|
var readUser = await _userRepo.ReadFirstOrDefaultAsync(u => u.Id == createdUser.Id);
|
||||||
|
|
||||||
// Assert
|
// Assert
|
||||||
Assert.That(readUser, Is.Not.Null);
|
Assert.Multiple(() =>
|
||||||
Assert.That(readUser, Is.EqualTo(createdUser));
|
{
|
||||||
|
Assert.That(readUser, Is.Not.Null);
|
||||||
|
Assert.That(readUser, Is.EqualTo(createdUser));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public async Task ReadAsync_ShouldReturnUpdated()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var createdUser = await _userRepo.CreateAsync(Fake.UserCreateDto);
|
||||||
|
var readUser = await _userRepo.ReadFirstOrDefaultAsync(u => u.Id == createdUser.Id);
|
||||||
|
|
||||||
|
// Act
|
||||||
|
readUser!.FirstName = "Foo";
|
||||||
|
readUser!.Email = "Bar";
|
||||||
|
readUser!.Age = 10;
|
||||||
|
|
||||||
|
var upToDateUser = await _userRepo.ReadFirstOrDefaultAsync(u => u.Id == createdUser.Id);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.Multiple(() =>
|
||||||
|
{
|
||||||
|
Assert.That(upToDateUser, Is.Not.Null);
|
||||||
|
Assert.That(upToDateUser, Is.EqualTo(readUser));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
[Test]
|
||||||
|
public async Task ReadAsync_ShouldNotReturnDeleted()
|
||||||
|
{
|
||||||
|
// Arrange
|
||||||
|
var createdUser = await _userRepo.CreateAsync(Fake.UserCreateDto);
|
||||||
|
var readUser = await _userRepo.ReadFirstOrDefaultAsync(u => u.Id == createdUser.Id);
|
||||||
|
|
||||||
|
// Act
|
||||||
|
await _userRepo.DeleteAsync(u => u.Id == createdUser.Id);
|
||||||
|
var deletedUser = await _userRepo.ReadFirstOrDefaultAsync(u => u.Id == createdUser.Id);
|
||||||
|
|
||||||
|
// Assert
|
||||||
|
Assert.Multiple(() =>
|
||||||
|
{
|
||||||
|
Assert.That(readUser, Is.Not.Null);
|
||||||
|
Assert.That(deletedUser, Is.Null);
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -2,11 +2,11 @@
|
|||||||
|
|
||||||
public class UserBase
|
public class UserBase
|
||||||
{
|
{
|
||||||
public required string FirstName { get; init; }
|
public required string FirstName { get; set; }
|
||||||
|
|
||||||
public required string Email { get; init; }
|
public required string Email { get; set; }
|
||||||
|
|
||||||
public required int Age { get; init; }
|
public required int Age { get; set; }
|
||||||
|
|
||||||
public override int GetHashCode() => HashCode.Combine(FirstName, Email, Age);
|
public override int GetHashCode() => HashCode.Combine(FirstName, Email, Age);
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user