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 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);
|
||||
}
|
||||
|
||||
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);
|
||||
|
||||
|
||||
@ -63,7 +63,51 @@ public class DbRepositoryTests
|
||||
var readUser = await _userRepo.ReadFirstOrDefaultAsync(u => u.Id == createdUser.Id);
|
||||
|
||||
// Assert
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
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 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);
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user