diff options
| author | Danail Dimitrov <danaildimitrov321@gmail.com> | 2021-01-11 22:17:07 +0200 |
|---|---|---|
| committer | Danail Dimitrov <danaildimitrov321@gmail.com> | 2021-01-11 22:17:07 +0200 |
| commit | 4f838ea0411445f6d7757273515062f2faac1ee7 (patch) | |
| tree | ba6bbd08464e1c84a9b648d33f159dbb1acc3caa /src/DevHive.Tests/DevHive.Services.Tests/TechnologyService.Tests.cs | |
| parent | 66c18934c0bfe375b906da1b591e8cb02292f85f (diff) | |
| download | DevHive-4f838ea0411445f6d7757273515062f2faac1ee7.tar DevHive-4f838ea0411445f6d7757273515062f2faac1ee7.tar.gz DevHive-4f838ea0411445f6d7757273515062f2faac1ee7.zip | |
Added Interfaces for all repository classes
Diffstat (limited to 'src/DevHive.Tests/DevHive.Services.Tests/TechnologyService.Tests.cs')
| -rw-r--r-- | src/DevHive.Tests/DevHive.Services.Tests/TechnologyService.Tests.cs | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/src/DevHive.Tests/DevHive.Services.Tests/TechnologyService.Tests.cs b/src/DevHive.Tests/DevHive.Services.Tests/TechnologyService.Tests.cs new file mode 100644 index 0000000..d38146f --- /dev/null +++ b/src/DevHive.Tests/DevHive.Services.Tests/TechnologyService.Tests.cs @@ -0,0 +1,64 @@ +using AutoMapper; +using DevHive.Data; +using DevHive.Data.Models; +using DevHive.Data.Repositories; +using DevHive.Data.Repositories.Contracts; +using DevHive.Services.Models.Technology; +using DevHive.Services.Services; +using Microsoft.EntityFrameworkCore; +using Moq; +using NUnit.Framework; +using System.Threading.Tasks; + +namespace DevHive.Services.Tests +{ + [TestFixture] + public class TechnologyServiceTests + { + protected Mock<ITechnologyRepository> TechnologyRepositoryMock { get; set; } + protected Mock<IMapper> MapperMock { get; set; } + protected TechnologyService TechnologyService { get; set; } + + [SetUp] + public void Setup() + { + this.TechnologyRepositoryMock = new Mock<ITechnologyRepository>(); + this.MapperMock = new Mock<IMapper>(); + this.TechnologyService = new TechnologyService(this.TechnologyRepositoryMock.Object, this.MapperMock.Object); + } + + #region Create + [Test] + public void Create_ReturnsTrue_WhenEntityIsAddedSuccessfully() + { + Task.Run(async () => + { + TechnologyServiceModel technologyServiceModel = new TechnologyServiceModel + { + Name = "Some name" + }; + Technology technology = new Technology + { + Name = "Some name" + }; + + this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyNameExist(It.IsAny<string>())).Returns(Task.FromResult(false)); + this.TechnologyRepositoryMock.Setup(p => p.AddAsync(It.IsAny<Technology>())).Returns(Task.FromResult(true)); + this.MapperMock.Setup(p => p.Map<Technology>(It.IsAny<TechnologyServiceModel>())).Returns(technology); + + bool result = await this.TechnologyService.Create(technologyServiceModel); + + Assert.IsTrue(result, "Create returns false when entity is created successfully"); + }).GetAwaiter().GetResult(); + } + + + #endregion + + [Test] + public void Test() + { + Assert.IsTrue(true); + } + } +} |
