Skip to content
This repository was archived by the owner on Apr 20, 2024. It is now read-only.

Commit 3f6bbd0

Browse files
author
Morten Turn Pedersen
committed
Added tests for update
1 parent 96b43f6 commit 3f6bbd0

File tree

3 files changed

+42
-2
lines changed

3 files changed

+42
-2
lines changed

NetCoreEntityFramework.Tests/EntityRepositoryTests.cs

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
using AutoFixture.NUnit3;
12
using Microsoft.EntityFrameworkCore;
23
using Nodes.NetCore.EntityFramework.Tests.Mocks;
34
using NUnit.Framework;
@@ -54,6 +55,7 @@ public void Setup()
5455
_repository = new TestEntityRepository(_context);
5556
}
5657

58+
#region Add
5759
[Test]
5860
public async Task AddAddsEntityAndSetsAttributes()
5961
{
@@ -90,6 +92,14 @@ public async Task AddEntityWithIdKeepsId()
9092
Assert.AreEqual(id, entity.Id);
9193
}
9294

95+
[Test]
96+
public void AddThrowsExceptionIfEntityIsNull()
97+
{
98+
Assert.ThrowsAsync<ArgumentNullException>(() => _repository.Add(null));
99+
}
100+
#endregion
101+
102+
#region Get
93103
[Test]
94104
public async Task GetValidEntityReturnsEntity()
95105
{
@@ -113,5 +123,34 @@ public async Task GetDeletedEntityWithFlag()
113123

114124
Assert.AreSame(_deletedEntity, entity);
115125
}
126+
#endregion
127+
128+
#region Update
129+
[Test]
130+
[AutoData]
131+
public async Task UpdateUpdatesUpdated(string propertyValue)
132+
{
133+
DateTime oldUpdated = _entity.Updated;
134+
DateTime oldCreated = _entity.Created;
135+
_entity.Property = propertyValue;
136+
137+
using(_repository)
138+
{
139+
await _repository.Update(_entity);
140+
}
141+
142+
var entity = await _repository.Get((Guid)_entity.Id);
143+
144+
Assert.AreEqual(propertyValue, entity.Property);
145+
Assert.AreNotEqual(oldUpdated, entity.Updated);
146+
Assert.AreEqual(oldCreated, entity.Created);
147+
}
148+
149+
[Test]
150+
public void UpdateThrowsExceptionIfNull()
151+
{
152+
Assert.ThrowsAsync<ArgumentNullException>(() => _repository.Update(null));
153+
}
154+
#endregion
116155
}
117156
}

NetCoreEntityFramework.Tests/NetCoreEntityFramework.Tests.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
</PropertyGroup>
1212

1313
<ItemGroup>
14+
<PackageReference Include="AutoFixture.NUnit3" Version="4.11.0" />
1415
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="3.1.3" />
1516
<PackageReference Include="nunit" Version="3.12.0" />
1617
<PackageReference Include="NUnit3TestAdapter" Version="3.16.1">

NetCoreEntityFramework/Repositories/EntityRepository.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ public Task Add(TEntity entity)
113113
/// </summary>
114114
/// <param name="entity">The entity to update.</param>
115115
/// <exception cref="ArgumentNullException"></exception>
116-
public Task<TEntity> Update(TEntity entity)
116+
public Task Update(TEntity entity)
117117
{
118118
if (entity == null)
119119
throw new ArgumentNullException(nameof(entity));
@@ -122,7 +122,7 @@ public Task<TEntity> Update(TEntity entity)
122122

123123
Context.Update(entity);
124124

125-
return Task.FromResult(entity);
125+
return Task.CompletedTask;
126126
}
127127

128128
/// <summary>

0 commit comments

Comments
 (0)