diff options
| author | Danail Dimitrov <danaildimitrov321@gmail.com> | 2021-01-09 16:07:37 +0200 |
|---|---|---|
| committer | Danail Dimitrov <danaildimitrov321@gmail.com> | 2021-01-09 16:07:37 +0200 |
| commit | bc98c6271786ad5d7e00550bd8fa12d49556840e (patch) | |
| tree | 0c20a75ac14c470646a03694185e7d95c2ab3a62 /src | |
| parent | f6c01d77fa07156908290962166147be9d07866a (diff) | |
| download | DevHive-bc98c6271786ad5d7e00550bd8fa12d49556840e.tar DevHive-bc98c6271786ad5d7e00550bd8fa12d49556840e.tar.gz DevHive-bc98c6271786ad5d7e00550bd8fa12d49556840e.zip | |
Set up for unit testing & created first unit test for technlogy repo
Diffstat (limited to 'src')
| -rw-r--r-- | src/DevHive.Tests/Data/Data.csproj | 1 | ||||
| -rw-r--r-- | src/DevHive.Tests/Data/TechnologyRepository.Tests.cs | 54 |
2 files changed, 55 insertions, 0 deletions
diff --git a/src/DevHive.Tests/Data/Data.csproj b/src/DevHive.Tests/Data/Data.csproj index 7ee66c3..a077bd7 100644 --- a/src/DevHive.Tests/Data/Data.csproj +++ b/src/DevHive.Tests/Data/Data.csproj @@ -5,6 +5,7 @@ </ItemGroup>
<ItemGroup> + <PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="5.0.1" /> <PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.8.3" /> <PackageReference Include="NUnit" Version="3.13.0" /> <PackageReference Include="Nunit3TestAdapter" Version="3.17.0" /> diff --git a/src/DevHive.Tests/Data/TechnologyRepository.Tests.cs b/src/DevHive.Tests/Data/TechnologyRepository.Tests.cs new file mode 100644 index 0000000..e4ca614 --- /dev/null +++ b/src/DevHive.Tests/Data/TechnologyRepository.Tests.cs @@ -0,0 +1,54 @@ +using Microsoft.EntityFrameworkCore; +using NUnit.Framework; +using DevHive.Data; +using DevHive.Data.Repositories; +using DevHive.Data.Models; +using System.Threading.Tasks; +using System.Linq; + +namespace DevHive.Tests.Data +{ + [TestFixture] + public class TechnologyRepositoryTests + { + private const string TECHNOLOGY_NAME = "Technology test name"; + + protected DevHiveContext Context { get;set; } + + protected TechnologyRepository TechnologyRepository { get;set; } + + [SetUp] + public void Setup() + { + var optionsBuilder = new DbContextOptionsBuilder<DevHiveContext>() + .UseInMemoryDatabase(databaseName: "DevHive_Test_Database"); + + this.Context = new DevHiveContext(optionsBuilder.Options); + + TechnologyRepository = new TechnologyRepository(Context); + + AddEntity(); + } + + [Test] + public void AddAsync_AddsTheGivenTechnologyToTheDatabase() + { + int numberOfTechnologies = Context.Technologies.Count(); + + Assert.True(numberOfTechnologies > 0, "Technologies repo does not store Technologies correctly"); + } + + private void AddEntity() + { + Task.Run(async () => + { + Technology technology = new Technology + { + Name = TECHNOLOGY_NAME + }; + + await this.TechnologyRepository.AddAsync(technology); + }).GetAwaiter().GetResult(); + } + } +}
\ No newline at end of file |
