From d9dcedd2bbb98467bb4765ee3338ff528182d016 Mon Sep 17 00:00:00 2001 From: Danail Dimitrov Date: Sun, 10 Jan 2021 10:24:48 +0200 Subject: adding some more unit tests --- .../Data/TechnologyRepository.Tests.cs | 77 ++++++++++++++++++++-- 1 file changed, 71 insertions(+), 6 deletions(-) (limited to 'src') diff --git a/src/DevHive.Tests/Data/TechnologyRepository.Tests.cs b/src/DevHive.Tests/Data/TechnologyRepository.Tests.cs index e4ca614..9a00401 100644 --- a/src/DevHive.Tests/Data/TechnologyRepository.Tests.cs +++ b/src/DevHive.Tests/Data/TechnologyRepository.Tests.cs @@ -5,6 +5,8 @@ using DevHive.Data.Repositories; using DevHive.Data.Models; using System.Threading.Tasks; using System.Linq; +using System; +using System.Security.Cryptography.X509Certificates; namespace DevHive.Tests.Data { @@ -25,30 +27,93 @@ namespace DevHive.Tests.Data this.Context = new DevHiveContext(optionsBuilder.Options); - TechnologyRepository = new TechnologyRepository(Context); - - AddEntity(); + TechnologyRepository = new TechnologyRepository(Context); } + [TearDown] + public void TearDown() + { + this.Context.Database.EnsureDeleted(); + } + [Test] public void AddAsync_AddsTheGivenTechnologyToTheDatabase() { + AddEntity(); + int numberOfTechnologies = Context.Technologies.Count(); Assert.True(numberOfTechnologies > 0, "Technologies repo does not store Technologies correctly"); } - private void AddEntity() + [Test] + public void GetByIdAsync_ReturnsTheCorrectTechnology_IfIdExists() + { + Task.Run(async () => + { + AddEntity(); + Technology technology = this.Context.Technologies.Where(x => x.Name == TECHNOLOGY_NAME).ToList().FirstOrDefault(); + Guid id = technology.Id; + + Technology technologyReturned = await this.TechnologyRepository.GetByIdAsync(id); + + Assert.AreEqual(TECHNOLOGY_NAME, technologyReturned.Name, "GetByIdAsync does not return the correct Technology when id is valid"); + }).GetAwaiter().GetResult(); + } + + [Test] + public void GetByIdAsync_ReturnsNull_IfIdDoesNotExists() + { + Task.Run(async () => + { + Guid id = new Guid(); + + Technology technologyReturned = await this.TechnologyRepository.GetByIdAsync(id); + + Assert.IsNull(technologyReturned, "GetByIdAsync returns Technology when it should be null"); + }).GetAwaiter().GetResult(); + } + + [Test] + public void DoesTechnologyNameExist_ReturnsTrue_IfTechnologyExists() + { + Task.Run(async () => + { + AddEntity(); + + bool result = await this.TechnologyRepository.DoesTechnologyNameExist(TECHNOLOGY_NAME); + + Assert.IsTrue(result, "DoesTechnologyNameExists returns true when technology name does not exist"); + }).GetAwaiter().GetResult(); + } + + [Test] + public void DoesTechnologyNameExist_ReturnsFalse_IfTechnologyDoesNotExists() + { + Task.Run(async () => + { + bool result = await this.TechnologyRepository.DoesTechnologyNameExist(TECHNOLOGY_NAME); + + Assert.False(result, "DoesTechnologyNameExist returns true when tehcnology name does not exist"); + }).GetAwaiter().GetResult(); + } + + private void AddEntity(string name = TECHNOLOGY_NAME) { Task.Run(async () => { Technology technology = new Technology { - Name = TECHNOLOGY_NAME + Name = name }; await this.TechnologyRepository.AddAsync(technology); }).GetAwaiter().GetResult(); - } + } + + //Task.Run(async () => + //{ + // + //}).GetAwaiter().GetResult(); } } \ No newline at end of file -- cgit v1.2.3