aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKamen Mladenov <kamen.d.mladenov@protonmail.com>2021-03-14 12:14:59 +0200
committerGitHub <noreply@github.com>2021-03-14 12:14:59 +0200
commit432fc5890814596d50fb409a6e5dc952d7bb4836 (patch)
tree05878ec2aeaa6feda4058e494e586ab0e869a63c
parent97459890f8c25b1af2a17109055afea53ee0b280 (diff)
parent10ac1adbf9fbeaca116d3fd356f85dd64c8c2bf8 (diff)
downloadDevHive-432fc5890814596d50fb409a6e5dc952d7bb4836.tar
DevHive-432fc5890814596d50fb409a6e5dc952d7bb4836.tar.gz
DevHive-432fc5890814596d50fb409a6e5dc952d7bb4836.zip
Merge pull request #21 from Team-Kaleidoscope/unit_test_refactoring
Unit test code style refactor
-rw-r--r--src/Data/DevHive.Data.Tests/CommentRepository.Tests.cs34
-rw-r--r--src/Data/DevHive.Data.Tests/FeedRepository.Tests.cs60
-rw-r--r--src/Data/DevHive.Data.Tests/LenguageRepository.Tests.cs38
-rw-r--r--src/Data/DevHive.Data.Tests/PostRepository.Tests.cs55
-rw-r--r--src/Data/DevHive.Data.Tests/RoleRepository.Tests.cs209
-rw-r--r--src/Data/DevHive.Data.Tests/TechnologyRepository.Tests.cs42
-rw-r--r--src/Data/DevHive.Data.Tests/UserRepositoryTests.cs547
-rw-r--r--src/Data/DevHive.Data/Migrations/20210216152915_Inital.cs1145
-rw-r--r--src/Services/DevHive.Services.Tests/CommentService.Tests.cs198
-rw-r--r--src/Services/DevHive.Services.Tests/LanguageService.Tests.cs152
-rw-r--r--src/Services/DevHive.Services.Tests/PostService.Tests.cs168
-rw-r--r--src/Services/DevHive.Services.Tests/RoleService.Tests.cs136
-rw-r--r--src/Services/DevHive.Services.Tests/TechnologyServices.Tests.cs156
-rw-r--r--src/Services/DevHive.Services.Tests/UserService.Tests.cs448
-rw-r--r--src/Web/DevHive.Web.Tests/CommentController.Tests.cs158
-rw-r--r--src/Web/DevHive.Web.Tests/FeedController.Tests.cs40
-rw-r--r--src/Web/DevHive.Web.Tests/LanguageController.Tests.cs77
-rw-r--r--src/Web/DevHive.Web.Tests/PostController.Tests.cs148
-rw-r--r--src/Web/DevHive.Web.Tests/RoleController.Tests.cs79
-rw-r--r--src/Web/DevHive.Web.Tests/TechnologyController.Tests.cs78
-rw-r--r--src/Web/DevHive.Web.Tests/UserController.Tests.cs141
21 files changed, 2249 insertions, 1860 deletions
diff --git a/src/Data/DevHive.Data.Tests/CommentRepository.Tests.cs b/src/Data/DevHive.Data.Tests/CommentRepository.Tests.cs
index 9cbb43b..0aa22bc 100644
--- a/src/Data/DevHive.Data.Tests/CommentRepository.Tests.cs
+++ b/src/Data/DevHive.Data.Tests/CommentRepository.Tests.cs
@@ -11,27 +11,25 @@ namespace DevHive.Data.Tests
public class CommentRepositoryTests
{
private const string COMMENT_MESSAGE = "Comment message";
-
- protected DevHiveContext Context { get; set; }
-
- protected CommentRepository CommentRepository { get; set; }
+ private DevHiveContext _context;
+ private CommentRepository _commentRepository;
#region Setups
[SetUp]
public void Setup()
{
- var optionsBuilder = new DbContextOptionsBuilder<DevHiveContext>()
+ DbContextOptionsBuilder<DevHiveContext> optionsBuilder = new DbContextOptionsBuilder<DevHiveContext>()
.UseInMemoryDatabase(databaseName: "DevHive_Test_Database");
- this.Context = new DevHiveContext(optionsBuilder.Options);
+ this._context = new DevHiveContext(optionsBuilder.Options);
- CommentRepository = new CommentRepository(Context);
+ this._commentRepository = new CommentRepository(this._context);
}
[TearDown]
public void TearDown()
{
- this.Context.Database.EnsureDeleted();
+ this._context.Database.EnsureDeleted();
}
#endregion
@@ -41,7 +39,7 @@ namespace DevHive.Data.Tests
{
Comment comment = await this.AddEntity();
- Comment resultComment = await this.CommentRepository.GetCommentByIssuerAndTimeCreatedAsync(comment.Creator.Id, comment.TimeCreated);
+ Comment resultComment = await this._commentRepository.GetCommentByIssuerAndTimeCreatedAsync(comment.Creator.Id, comment.TimeCreated);
Assert.AreEqual(comment.Id, resultComment.Id, "GetCommentByIssuerAndTimeCreatedAsync does not return the corect comment when it exists");
}
@@ -49,9 +47,9 @@ namespace DevHive.Data.Tests
[Test]
public async Task GetPostByCreatorAndTimeCreatedAsync_ReturnsNull_IfThePostDoesNotExist()
{
- Comment comment = await this.AddEntity();
+ await this.AddEntity();
- Comment resultComment = await this.CommentRepository.GetCommentByIssuerAndTimeCreatedAsync(Guid.Empty, DateTime.Now);
+ Comment resultComment = await this._commentRepository.GetCommentByIssuerAndTimeCreatedAsync(Guid.Empty, DateTime.Now);
Assert.IsNull(resultComment, "GetCommentByIssuerAndTimeCreatedAsync does not return null when the comment does not exist");
}
@@ -63,7 +61,7 @@ namespace DevHive.Data.Tests
{
Comment comment = await this.AddEntity();
- bool result = await this.CommentRepository.DoesCommentExist(comment.Id);
+ bool result = await this._commentRepository.DoesCommentExist(comment.Id);
Assert.IsTrue(result, "DoesCommentExist does not return true whenm the Comment exists");
}
@@ -71,7 +69,7 @@ namespace DevHive.Data.Tests
[Test]
public async Task DoesCommentExist_ReturnsFalse_WhenTheCommentDoesNotExist()
{
- bool result = await this.CommentRepository.DoesCommentExist(Guid.Empty);
+ bool result = await this._commentRepository.DoesCommentExist(Guid.Empty);
Assert.IsFalse(result, "DoesCommentExist does not return false whenm the Comment" +
" does not exist");
@@ -79,18 +77,18 @@ namespace DevHive.Data.Tests
#endregion
#region HelperMethods
- private async Task<Comment> AddEntity(string name = COMMENT_MESSAGE)
+ private async Task<Comment> AddEntity()
{
- User creator = new User { Id = Guid.NewGuid() };
- Comment comment = new Comment
+ User creator = new() { Id = Guid.NewGuid() };
+ Comment comment = new()
{
Message = COMMENT_MESSAGE,
Creator = creator,
TimeCreated = DateTime.Now
};
- this.Context.Comments.Add(comment);
- await this.Context.SaveChangesAsync();
+ this._context.Comments.Add(comment);
+ await this._context.SaveChangesAsync();
return comment;
}
diff --git a/src/Data/DevHive.Data.Tests/FeedRepository.Tests.cs b/src/Data/DevHive.Data.Tests/FeedRepository.Tests.cs
index f134bf3..f54e89d 100644
--- a/src/Data/DevHive.Data.Tests/FeedRepository.Tests.cs
+++ b/src/Data/DevHive.Data.Tests/FeedRepository.Tests.cs
@@ -11,26 +11,25 @@ namespace DevHive.Data.Tests
[TestFixture]
public class FeedRepositoryTests
{
- protected DevHiveContext Context { get; set; }
-
- protected FeedRepository FeedRepository { get; set; }
+ private DevHiveContext _context;
+ private FeedRepository _feedRepository;
#region Setups
[SetUp]
public void Setup()
{
- var optionsBuilder = new DbContextOptionsBuilder<DevHiveContext>()
+ DbContextOptionsBuilder<DevHiveContext> optionsBuilder = new DbContextOptionsBuilder<DevHiveContext>()
.UseInMemoryDatabase(databaseName: "DevHive_Test_Database");
- this.Context = new DevHiveContext(optionsBuilder.Options);
+ this._context = new DevHiveContext(optionsBuilder.Options);
- FeedRepository = new FeedRepository(Context);
+ this._feedRepository = new FeedRepository(this._context);
}
[TearDown]
public void TearDown()
{
- this.Context.Database.EnsureDeleted();
+ this._context.Database.EnsureDeleted();
}
#endregion
@@ -38,20 +37,19 @@ namespace DevHive.Data.Tests
[Test]
public async Task GetFriendsPosts_ReturnsListOfPosts_WhenTheyExist()
{
- User dummyUser = this.CreateDummyUser();
- List<User> friendsList = new List<User>();
- friendsList.Add(dummyUser);
+ User dummyUser = CreateDummyUser();
+ List<User> friendsList = new()
+ {
+ dummyUser
+ };
- DateTime dateTime = new DateTime(3000, 05, 09, 9, 15, 0);
+ DateTime dateTime = new(3000, 05, 09, 9, 15, 0);
Console.WriteLine(dateTime.ToFileTime());
- Post dummyPost = this.CreateDummyPost(dummyUser);
- Post anotherDummnyPost = this.CreateDummyPost(dummyUser);
-
const int PAGE_NUMBER = 1;
const int PAGE_SIZE = 10;
- List<Post> resultList = await this.FeedRepository.GetFriendsPosts(friendsList, dateTime, PAGE_NUMBER, PAGE_SIZE);
+ List<Post> resultList = await this._feedRepository.GetFriendsPosts(friendsList, dateTime, PAGE_NUMBER, PAGE_SIZE);
Assert.GreaterOrEqual(2, resultList.Count, "GetFriendsPosts does not return all correct posts");
}
@@ -59,23 +57,25 @@ namespace DevHive.Data.Tests
[Test]
public async Task GetFriendsPosts_ReturnsNull_WhenNoSuitablePostsExist()
{
- User dummyUser = this.CreateDummyUser();
- List<User> friendsList = new List<User>();
- friendsList.Add(dummyUser);
+ User dummyUser = CreateDummyUser();
+ List<User> friendsList = new()
+ {
+ dummyUser
+ };
- DateTime dateTime = new DateTime(3000, 05, 09, 9, 15, 0);
+ DateTime dateTime = new(3000, 05, 09, 9, 15, 0);
const int PAGE_NUMBER = 1;
const int PAGE_SIZE = 10;
- List<Post> resultList = await this.FeedRepository.GetFriendsPosts(friendsList, dateTime, PAGE_NUMBER, PAGE_SIZE);
+ List<Post> resultList = await this._feedRepository.GetFriendsPosts(friendsList, dateTime, PAGE_NUMBER, PAGE_SIZE);
Assert.LessOrEqual(0, resultList.Count, "GetFriendsPosts does not return all correct posts");
}
#endregion
#region HelperMethods
- private User CreateDummyUser()
+ private static User CreateDummyUser()
{
HashSet<Role> roles = new()
{
@@ -96,24 +96,6 @@ namespace DevHive.Data.Tests
Roles = roles
};
}
-
- private Post CreateDummyPost(User poster)
- {
- const string POST_MESSAGE = "random message";
- Guid id = Guid.NewGuid();
- Post post = new Post
- {
- Id = id,
- Message = POST_MESSAGE,
- Creator = poster,
- TimeCreated = new DateTime(2000, 05, 09, 9, 15, 0)
- };
-
- this.Context.Posts.Add(post);
- this.Context.SaveChanges();
-
- return post;
- }
#endregion
}
}
diff --git a/src/Data/DevHive.Data.Tests/LenguageRepository.Tests.cs b/src/Data/DevHive.Data.Tests/LenguageRepository.Tests.cs
index f02a1e4..3bb9400 100644
--- a/src/Data/DevHive.Data.Tests/LenguageRepository.Tests.cs
+++ b/src/Data/DevHive.Data.Tests/LenguageRepository.Tests.cs
@@ -12,25 +12,25 @@ namespace DevHive.Data.Tests
public class LenguageRepositoryTests
{
private const string LANGUAGE_NAME = "Language test name";
- protected DevHiveContext Context { get; set; }
- protected LanguageRepository LanguageRepository { get; set; }
+ private DevHiveContext _context;
+ private LanguageRepository _languageRepository;
#region Setups
[SetUp]
public void Setup()
{
- var optionsBuilder = new DbContextOptionsBuilder<DevHiveContext>()
+ DbContextOptionsBuilder<DevHiveContext> optionsBuilder = new DbContextOptionsBuilder<DevHiveContext>()
.UseInMemoryDatabase(databaseName: "DevHive_Test_Database");
- this.Context = new DevHiveContext(optionsBuilder.Options);
+ this._context = new DevHiveContext(optionsBuilder.Options);
- LanguageRepository = new LanguageRepository(Context);
+ this._languageRepository = new LanguageRepository(this._context);
}
[TearDown]
public void TearDown()
{
- this.Context.Database.EnsureDeleted();
+ this._context.Database.EnsureDeleted();
}
#endregion
@@ -38,11 +38,11 @@ namespace DevHive.Data.Tests
[Test]
public async Task GetByNameAsync_ReturnsTheCorrectLanguage_IfItExists()
{
- await AddEntity();
+ await this.AddEntity();
- Language language = this.Context.Languages.Where(x => x.Name == LANGUAGE_NAME).ToList().FirstOrDefault();
+ Language language = this._context.Languages.Where(x => x.Name == LANGUAGE_NAME).AsEnumerable().FirstOrDefault();
- Language languageResult = await this.LanguageRepository.GetByNameAsync(LANGUAGE_NAME);
+ Language languageResult = await this._languageRepository.GetByNameAsync(LANGUAGE_NAME);
Assert.AreEqual(language.Id, languageResult.Id);
}
@@ -50,7 +50,7 @@ namespace DevHive.Data.Tests
[Test]
public async Task GetByNameAsync_ReturnsNull_IfTechnologyDoesNotExists()
{
- Language languageResult = await this.LanguageRepository.GetByNameAsync(LANGUAGE_NAME);
+ Language languageResult = await this._languageRepository.GetByNameAsync(LANGUAGE_NAME);
Assert.IsNull(languageResult);
}
@@ -60,12 +60,12 @@ namespace DevHive.Data.Tests
[Test]
public async Task DoesLanguageExist_ReturnsTrue_IfIdExists()
{
- await AddEntity();
- Language language = this.Context.Languages.Where(x => x.Name == LANGUAGE_NAME).ToList().FirstOrDefault();
+ await this.AddEntity();
+ Language language = this._context.Languages.Where(x => x.Name == LANGUAGE_NAME).AsEnumerable().FirstOrDefault();
Guid id = language.Id;
- bool result = await this.LanguageRepository.DoesLanguageExistAsync(id);
+ bool result = await this._languageRepository.DoesLanguageExistAsync(id);
Assert.IsTrue(result, "DoesLanguageExistAsync returns flase when language exists");
}
@@ -75,7 +75,7 @@ namespace DevHive.Data.Tests
{
Guid id = Guid.NewGuid();
- bool result = await this.LanguageRepository.DoesLanguageExistAsync(id);
+ bool result = await this._languageRepository.DoesLanguageExistAsync(id);
Assert.IsFalse(result, "DoesLanguageExistAsync returns true when language does not exist");
}
@@ -85,9 +85,9 @@ namespace DevHive.Data.Tests
[Test]
public async Task DoesLanguageNameExist_ReturnsTrue_IfLanguageExists()
{
- await AddEntity();
+ await this.AddEntity();
- bool result = await this.LanguageRepository.DoesLanguageNameExistAsync(LANGUAGE_NAME);
+ bool result = await this._languageRepository.DoesLanguageNameExistAsync(LANGUAGE_NAME);
Assert.IsTrue(result, "DoesLanguageNameExists returns true when language name does not exist");
}
@@ -95,7 +95,7 @@ namespace DevHive.Data.Tests
[Test]
public async Task DoesLanguageNameExist_ReturnsFalse_IfLanguageDoesNotExists()
{
- bool result = await this.LanguageRepository.DoesLanguageNameExistAsync(LANGUAGE_NAME);
+ bool result = await this._languageRepository.DoesLanguageNameExistAsync(LANGUAGE_NAME);
Assert.False(result, "DoesTechnologyNameExistAsync returns true when language name does not exist");
}
@@ -104,12 +104,12 @@ namespace DevHive.Data.Tests
#region HelperMethods
private async Task AddEntity(string name = LANGUAGE_NAME)
{
- Language language = new Language
+ Language language = new()
{
Name = name
};
- await this.LanguageRepository.AddAsync(language);
+ await this._languageRepository.AddAsync(language);
}
#endregion
}
diff --git a/src/Data/DevHive.Data.Tests/PostRepository.Tests.cs b/src/Data/DevHive.Data.Tests/PostRepository.Tests.cs
index 6a0cccd..005769f 100644
--- a/src/Data/DevHive.Data.Tests/PostRepository.Tests.cs
+++ b/src/Data/DevHive.Data.Tests/PostRepository.Tests.cs
@@ -11,35 +11,32 @@ using NUnit.Framework;
namespace DevHive.Data.Tests
{
- [TestFixture]
+ [TestFixture]
public class PostRepositoryTests
{
private const string POST_MESSAGE = "Post test message";
-
- private DevHiveContext Context { get; set; }
-
- private Mock<IUserRepository> UserRepository { get; set; }
-
- private PostRepository PostRepository { get; set; }
+ private DevHiveContext _context;
+ private Mock<IUserRepository> _userRepository;
+ private PostRepository _postRepository;
#region Setups
[SetUp]
public void Setup()
{
- var optionsBuilder = new DbContextOptionsBuilder<DevHiveContext>()
+ DbContextOptionsBuilder<DevHiveContext> optionsBuilder = new DbContextOptionsBuilder<DevHiveContext>()
.UseInMemoryDatabase(databaseName: "DevHive_Test_Database");
- this.Context = new DevHiveContext(optionsBuilder.Options);
+ this._context = new DevHiveContext(optionsBuilder.Options);
- this.UserRepository = new Mock<IUserRepository>();
+ this._userRepository = new Mock<IUserRepository>();
- PostRepository = new PostRepository(Context, this.UserRepository.Object);
+ this._postRepository = new PostRepository(this._context, this._userRepository.Object);
}
[TearDown]
public void TearDown()
{
- this.Context.Database.EnsureDeleted();
+ this._context.Database.EnsureDeleted();
}
#endregion
@@ -49,11 +46,11 @@ namespace DevHive.Data.Tests
// {
// Post post = await this.AddEntity();
// User user = new User { Id = Guid.NewGuid() };
- //
+ //
// this.UserRepository.Setup(p => p.GetByIdAsync(It.IsAny<Guid>())).Returns(Task.FromResult(user));
- //
+ //
// bool result = await this.PostRepository.AddNewPostToCreator(user.Id, post);
- //
+ //
// Assert.IsTrue(result, "AddNewPostToCreator does not return true when Post Is Added To Creator successfully");
// }
#endregion
@@ -62,9 +59,9 @@ namespace DevHive.Data.Tests
[Test]
public async Task GetByNameAsync_ReturnsTheCorrectPost_IfItExists()
{
- Post post = await AddEntity();
+ Post post = await this.AddEntity();
- Post resultTechnology = await this.PostRepository.GetByIdAsync(post.Id);
+ Post resultTechnology = await this._postRepository.GetByIdAsync(post.Id);
Assert.AreEqual(post.Id, resultTechnology.Id, "GetByIdAsync does not return the correct post");
}
@@ -72,7 +69,7 @@ namespace DevHive.Data.Tests
[Test]
public async Task GetByIdAsync_ReturnsNull_IfTechnologyDoesNotExists()
{
- Post resultPost = await this.PostRepository.GetByIdAsync(Guid.NewGuid());
+ Post resultPost = await this._postRepository.GetByIdAsync(Guid.NewGuid());
Assert.IsNull(resultPost);
}
@@ -84,7 +81,7 @@ namespace DevHive.Data.Tests
{
Post post = await this.AddEntity();
- Post resultPost = await this.PostRepository.GetPostByCreatorAndTimeCreatedAsync(post.Creator.Id, post.TimeCreated);
+ Post resultPost = await this._postRepository.GetPostByCreatorAndTimeCreatedAsync(post.Creator.Id, post.TimeCreated);
Assert.AreEqual(post.Id, resultPost.Id, "GetPostByCreatorAndTimeCreatedAsync does not return the corect post when it exists");
}
@@ -92,9 +89,9 @@ namespace DevHive.Data.Tests
[Test]
public async Task GetPostByCreatorAndTimeCreatedAsync_ReturnsNull_IfThePostDoesNotExist()
{
- Post post = await this.AddEntity();
+ await this.AddEntity();
- Post resutPost = await this.PostRepository.GetPostByCreatorAndTimeCreatedAsync(Guid.Empty, DateTime.Now);
+ Post resutPost = await this._postRepository.GetPostByCreatorAndTimeCreatedAsync(Guid.Empty, DateTime.Now);
Assert.IsNull(resutPost, "GetPostByCreatorAndTimeCreatedAsync does not return null when the post does not exist");
}
@@ -106,7 +103,7 @@ namespace DevHive.Data.Tests
{
Post post = await this.AddEntity();
- bool result = await this.PostRepository.DoesPostExist(post.Id);
+ bool result = await this._postRepository.DoesPostExist(post.Id);
Assert.IsTrue(result, "DoesPostExist does not return true whenm the Post exists");
}
@@ -114,18 +111,18 @@ namespace DevHive.Data.Tests
[Test]
public async Task DoesPostExist_ReturnsFalse_WhenThePostDoesNotExist()
{
- bool result = await this.PostRepository.DoesPostExist(Guid.Empty);
+ bool result = await this._postRepository.DoesPostExist(Guid.Empty);
Assert.IsFalse(result, "DoesPostExist does not return false whenm the Post does not exist");
}
#endregion
#region HelperMethods
- private async Task<Post> AddEntity(string name = POST_MESSAGE)
+ private async Task<Post> AddEntity()
{
- User creator = new User { Id = Guid.NewGuid() };
- await this.Context.Users.AddAsync(creator);
- Post post = new Post
+ User creator = new() { Id = Guid.NewGuid() };
+ await this._context.Users.AddAsync(creator);
+ Post post = new()
{
Message = POST_MESSAGE,
Id = Guid.NewGuid(),
@@ -135,8 +132,8 @@ namespace DevHive.Data.Tests
Comments = new List<Comment>()
};
- await this.Context.Posts.AddAsync(post);
- await this.Context.SaveChangesAsync();
+ await this._context.Posts.AddAsync(post);
+ await this._context.SaveChangesAsync();
return post;
}
diff --git a/src/Data/DevHive.Data.Tests/RoleRepository.Tests.cs b/src/Data/DevHive.Data.Tests/RoleRepository.Tests.cs
index 7f62c24..7a248d3 100644
--- a/src/Data/DevHive.Data.Tests/RoleRepository.Tests.cs
+++ b/src/Data/DevHive.Data.Tests/RoleRepository.Tests.cs
@@ -3,7 +3,9 @@ using System.Linq;
using System.Threading.Tasks;
using DevHive.Data.Models;
using DevHive.Data.Repositories;
+using Microsoft.AspNetCore.Identity;
using Microsoft.EntityFrameworkCore;
+using Moq;
using NUnit.Framework;
namespace DevHive.Data.Tests
@@ -11,109 +13,108 @@ namespace DevHive.Data.Tests
[TestFixture]
public class RoleRepositoryTests
{
- private const string ROLE_NAME = "Role test name";
-
- protected DevHiveContext Context { get; set; }
-
- protected RoleRepository RoleRepository { get; set; }
-
- #region Setups
- [SetUp]
- public void Setup()
- {
- var optionsBuilder = new DbContextOptionsBuilder<DevHiveContext>()
- .UseInMemoryDatabase(databaseName: "DevHive_Test_Database");
-
- this.Context = new DevHiveContext(optionsBuilder.Options);
-
- RoleRepository = new RoleRepository(Context);
- }
-
- [TearDown]
- public void TearDown()
- {
- this.Context.Database.EnsureDeleted();
- }
- #endregion
-
- #region GetByNameAsync
- [Test]
- public async Task GetByNameAsync_ReturnsTheRole_WhenItExists()
- {
- Role role = await this.AddEntity();
-
- Role resultRole = await this.RoleRepository.GetByNameAsync(role.Name);
-
- Assert.AreEqual(role.Id, resultRole.Id, "GetByNameAsync does not return the correct role");
- }
-
- [Test]
- public async Task GetByNameAsync_ReturnsNull_WhenTheRoleDoesNotExist()
- {
- Role resultRole = await this.RoleRepository.GetByNameAsync(ROLE_NAME);
-
- Assert.IsNull(resultRole, "GetByNameAsync does not return when the role does not exist");
- }
- #endregion
-
- #region DoesNameExist
- [Test]
- public async Task DoesNameExist_ReturnsTrue_WhenTheNameExists()
- {
- Role role = await this.AddEntity();
-
- bool result = await this.RoleRepository.DoesNameExist(role.Name);
-
- Assert.IsTrue(result, "DoesNameExist returns false when the role name exist");
- }
-
- [Test]
- public async Task DoesNameExist_ReturnsFalse_WhenTheNameDoesNotExist()
- {
- bool result = await this.RoleRepository.DoesNameExist(ROLE_NAME);
-
- Assert.IsFalse(result, "DoesNameExist returns false when the role name exist");
- }
- #endregion
-
- #region DoesRoleExist
- [Test]
- public async Task DoesRoleExist_ReturnsTrue_IfIdExists()
- {
- await AddEntity();
- Role role = this.Context.Roles.Where(x => x.Name == ROLE_NAME).ToList().FirstOrDefault();
- Guid id = role.Id;
-
- bool result = await this.RoleRepository.DoesRoleExist(id);
-
- Assert.IsTrue(result, "DoesRoleExistAsync returns flase when role exists");
- }
-
- [Test]
- public async Task DoesRoleExist_ReturnsFalse_IfIdDoesNotExists()
- {
- Guid id = Guid.NewGuid();
-
- bool result = await this.RoleRepository.DoesRoleExist(id);
-
- Assert.IsFalse(result, "DoesRoleExist returns true when role does not exist");
- }
- #endregion
-
- #region HelperMethods
- private async Task<Role> AddEntity(string name = ROLE_NAME)
- {
- Role role = new Role
- {
- Id = Guid.NewGuid(),
- Name = name
- };
-
- this.Context.Roles.Add(role);
- await this.Context.SaveChangesAsync();
-
- return role;
- }
- #endregion
+ // private const string ROLE_NAME = "Role test name";
+ // private DevHiveContext _context;
+ // private RoleRepository _roleRepository;
+ //
+ // #region Setups
+ // [SetUp]
+ // public void Setup()
+ // {
+ // DbContextOptionsBuilder<DevHiveContext> optionsBuilder = new DbContextOptionsBuilder<DevHiveContext>()
+ // .UseInMemoryDatabase(databaseName: "DevHive_Test_Database");
+ //
+ // this._context = new DevHiveContext(optionsBuilder.Options);
+ //
+ // Mock<RoleManager<Role>> roleManagerMock = new();
+ // this._roleRepository = new(this._context, roleManagerMock.Object);
+ // }
+ //
+ // [TearDown]
+ // public void TearDown()
+ // {
+ // _ = this._context.Database.EnsureDeleted();
+ // }
+ // #endregion
+ //
+ // #region GetByNameAsync
+ // [Test]
+ // public async Task GetByNameAsync_ReturnsTheRole_WhenItExists()
+ // {
+ // Role role = await this.AddEntity();
+ //
+ // Role resultRole = await this._roleRepository.GetByNameAsync(role.Name);
+ //
+ // Assert.AreEqual(role.Id, resultRole.Id, "GetByNameAsync does not return the correct role");
+ // }
+ //
+ // [Test]
+ // public async Task GetByNameAsync_ReturnsNull_WhenTheRoleDoesNotExist()
+ // {
+ // Role resultRole = await this._roleRepository.GetByNameAsync(ROLE_NAME);
+ //
+ // Assert.IsNull(resultRole, "GetByNameAsync does not return when the role does not exist");
+ // }
+ // #endregion
+ //
+ // #region DoesNameExist
+ // [Test]
+ // public async Task DoesNameExist_ReturnsTrue_WhenTheNameExists()
+ // {
+ // Role role = await this.AddEntity();
+ //
+ // bool result = await this._roleRepository.DoesNameExist(role.Name);
+ //
+ // Assert.IsTrue(result, "DoesNameExist returns false when the role name exist");
+ // }
+ //
+ // [Test]
+ // public async Task DoesNameExist_ReturnsFalse_WhenTheNameDoesNotExist()
+ // {
+ // bool result = await this._roleRepository.DoesNameExist(ROLE_NAME);
+ //
+ // Assert.IsFalse(result, "DoesNameExist returns false when the role name exist");
+ // }
+ // #endregion
+ //
+ // #region DoesRoleExist
+ // [Test]
+ // public async Task DoesRoleExist_ReturnsTrue_IfIdExists()
+ // {
+ // _ = await this.AddEntity();
+ // Role role = this._context.Roles.Where(x => x.Name == ROLE_NAME).AsEnumerable().FirstOrDefault();
+ // Guid id = role.Id;
+ //
+ // bool result = await this._roleRepository.DoesRoleExist(id);
+ //
+ // Assert.IsTrue(result, "DoesRoleExistAsync returns flase when role exists");
+ // }
+ //
+ // [Test]
+ // public async Task DoesRoleExist_ReturnsFalse_IfIdDoesNotExists()
+ // {
+ // Guid id = Guid.NewGuid();
+ //
+ // bool result = await this._roleRepository.DoesRoleExist(id);
+ //
+ // Assert.IsFalse(result, "DoesRoleExist returns true when role does not exist");
+ // }
+ // #endregion
+ //
+ // #region HelperMethods
+ // private async Task<Role> AddEntity(string name = ROLE_NAME)
+ // {
+ // Role role = new()
+ // {
+ // Id = Guid.NewGuid(),
+ // Name = name
+ // };
+ //
+ // _ = this._context.Roles.Add(role);
+ // _ = await this._context.SaveChangesAsync();
+ //
+ // return role;
+ // }
+ // #endregion
}
}
diff --git a/src/Data/DevHive.Data.Tests/TechnologyRepository.Tests.cs b/src/Data/DevHive.Data.Tests/TechnologyRepository.Tests.cs
index d25fd3b..d268777 100644
--- a/src/Data/DevHive.Data.Tests/TechnologyRepository.Tests.cs
+++ b/src/Data/DevHive.Data.Tests/TechnologyRepository.Tests.cs
@@ -12,27 +12,25 @@ namespace DevHive.Data.Tests
public class TechnologyRepositoryTests
{
private const string TECHNOLOGY_NAME = "Technology test name";
-
- protected DevHiveContext Context { get; set; }
-
- protected TechnologyRepository TechnologyRepository { get; set; }
+ private DevHiveContext _context;
+ private TechnologyRepository _technologyRepository;
#region Setups
[SetUp]
public void Setup()
{
- var optionsBuilder = new DbContextOptionsBuilder<DevHiveContext>()
+ DbContextOptionsBuilder<DevHiveContext> optionsBuilder = new DbContextOptionsBuilder<DevHiveContext>()
.UseInMemoryDatabase(databaseName: "DevHive_Test_Database");
- this.Context = new DevHiveContext(optionsBuilder.Options);
+ this._context = new DevHiveContext(optionsBuilder.Options);
- TechnologyRepository = new TechnologyRepository(Context);
+ this._technologyRepository = new TechnologyRepository(this._context);
}
[TearDown]
public void TearDown()
{
- this.Context.Database.EnsureDeleted();
+ this._context.Database.EnsureDeleted();
}
#endregion
@@ -40,11 +38,11 @@ namespace DevHive.Data.Tests
[Test]
public async Task GetByNameAsync_ReturnsTheCorrectTechnology_IfItExists()
{
- await AddEntity();
+ await this.AddEntity();
- Technology technology = this.Context.Technologies.Where(x => x.Name == TECHNOLOGY_NAME).ToList().FirstOrDefault();
+ Technology technology = this._context.Technologies.Where(x => x.Name == TECHNOLOGY_NAME).AsEnumerable().FirstOrDefault();
- Technology resultTechnology = await this.TechnologyRepository.GetByNameAsync(TECHNOLOGY_NAME);
+ Technology resultTechnology = await this._technologyRepository.GetByNameAsync(TECHNOLOGY_NAME);
Assert.AreEqual(technology.Id, resultTechnology.Id);
}
@@ -52,7 +50,7 @@ namespace DevHive.Data.Tests
[Test]
public async Task GetByNameAsync_ReturnsNull_IfTechnologyDoesNotExists()
{
- Technology resultTechnology = await this.TechnologyRepository.GetByNameAsync(TECHNOLOGY_NAME);
+ Technology resultTechnology = await this._technologyRepository.GetByNameAsync(TECHNOLOGY_NAME);
Assert.IsNull(resultTechnology);
}
@@ -62,11 +60,11 @@ namespace DevHive.Data.Tests
[Test]
public async Task DoesTechnologyExist_ReturnsTrue_IfIdExists()
{
- await AddEntity();
- Technology technology = this.Context.Technologies.Where(x => x.Name == TECHNOLOGY_NAME).ToList().FirstOrDefault();
+ await this.AddEntity();
+ Technology technology = this._context.Technologies.Where(x => x.Name == TECHNOLOGY_NAME).AsEnumerable().FirstOrDefault();
Guid id = technology.Id;
- bool result = await this.TechnologyRepository.DoesTechnologyExistAsync(id);
+ bool result = await this._technologyRepository.DoesTechnologyExistAsync(id);
Assert.IsTrue(result, "DoesTechnologyExistAsync returns flase hwen technology exists");
}
@@ -76,7 +74,7 @@ namespace DevHive.Data.Tests
{
Guid id = Guid.NewGuid();
- bool result = await this.TechnologyRepository.DoesTechnologyExistAsync(id);
+ bool result = await this._technologyRepository.DoesTechnologyExistAsync(id);
Assert.IsFalse(result, "DoesTechnologyExistAsync returns true when technology does not exist");
}
@@ -86,9 +84,9 @@ namespace DevHive.Data.Tests
[Test]
public async Task DoesTechnologyNameExist_ReturnsTrue_IfTechnologyExists()
{
- await AddEntity();
+ await this.AddEntity();
- bool result = await this.TechnologyRepository.DoesTechnologyNameExistAsync(TECHNOLOGY_NAME);
+ bool result = await this._technologyRepository.DoesTechnologyNameExistAsync(TECHNOLOGY_NAME);
Assert.IsTrue(result, "DoesTechnologyNameExists returns true when technology name does not exist");
}
@@ -96,7 +94,7 @@ namespace DevHive.Data.Tests
[Test]
public async Task DoesTechnologyNameExist_ReturnsFalse_IfTechnologyDoesNotExists()
{
- bool result = await this.TechnologyRepository.DoesTechnologyNameExistAsync(TECHNOLOGY_NAME);
+ bool result = await this._technologyRepository.DoesTechnologyNameExistAsync(TECHNOLOGY_NAME);
Assert.False(result, "DoesTechnologyNameExistAsync returns true when technology name does not exist");
}
@@ -105,13 +103,13 @@ namespace DevHive.Data.Tests
#region HelperMethods
private async Task AddEntity(string name = TECHNOLOGY_NAME)
{
- Technology technology = new Technology
+ Technology technology = new()
{
Name = name
};
- this.Context.Technologies.Add(technology);
- await this.Context.SaveChangesAsync();
+ this._context.Technologies.Add(technology);
+ await this._context.SaveChangesAsync();
}
#endregion
}
diff --git a/src/Data/DevHive.Data.Tests/UserRepositoryTests.cs b/src/Data/DevHive.Data.Tests/UserRepositoryTests.cs
index 5f84e34..e8fc034 100644
--- a/src/Data/DevHive.Data.Tests/UserRepositoryTests.cs
+++ b/src/Data/DevHive.Data.Tests/UserRepositoryTests.cs
@@ -1,10 +1,12 @@
using System;
using System.Collections.Generic;
-using System.Linq;
+using System.Threading;
using System.Threading.Tasks;
using DevHive.Data.Models;
using DevHive.Data.Repositories;
+using Microsoft.AspNetCore.Identity;
using Microsoft.EntityFrameworkCore;
+using Moq;
using NUnit.Framework;
namespace DevHive.Data.Tests
@@ -12,339 +14,252 @@ namespace DevHive.Data.Tests
[TestFixture]
public class UserRepositoryTests
{
- private DevHiveContext _context;
- private UserRepository _userRepository;
-
- #region Setups
- [SetUp]
- public void Setup()
- {
- var options = new DbContextOptionsBuilder<DevHiveContext>()
- .UseInMemoryDatabase("DevHive_UserRepository_Database");
-
- this._context = new DevHiveContext(options.Options);
- this._userRepository = new UserRepository(_context);
- }
-
- [TearDown]
- public async Task Teardown()
- {
- await this._context.Database.EnsureDeletedAsync();
- }
- #endregion
-
- #region QueryAll
+ // private DevHiveContext _context;
+ // private UserRepository _userRepository;
+ //
+ // #region Setups
+ // [SetUp]
+ // public void Setup()
+ // {
+ // DbContextOptionsBuilder<DevHiveContext> options = new DbContextOptionsBuilder<DevHiveContext>()
+ // .UseInMemoryDatabase("DevHive_UserRepository_Database");
+ // this._context = new DevHiveContext(options.Options);
+ //
+ // Guid userId = Guid.NewGuid();
+ // Mock<IUserStore<User>> userStore = new();
+ // userStore.Setup(x => x.FindByIdAsync(userId.ToString(), CancellationToken.None))
+ // .ReturnsAsync(new User()
+ // {
+ // Id = userId,
+ // UserName = "test",
+ // });
+ // Mock<UserManager<User>> userManagerMock = new(userStore.Object, null, null, null, null, null, null, null, null);
+ //
+ // Guid roleId = Guid.NewGuid();
+ // Mock<IRoleStore<Role>> roleStore = new();
+ // roleStore.Setup(x => x.FindByIdAsync(roleId.ToString(), CancellationToken.None))
+ // .ReturnsAsync(new Role()
+ // {
+ // Id = roleId,
+ // Name = "test",
+ // });
+ // Mock<RoleManager<Role>> roleManagerMock = new(roleStore.Object, null, null, null, null);
+ // this._userRepository = new(this._context, userManagerMock.Object, roleManagerMock.Object);
+ // }
+ //
+ // [TearDown]
+ // public async Task Teardown()
+ // {
+ // _ = await this._context.Database.EnsureDeletedAsync();
+ // }
+ // #endregion
+ //
+ // #region EditAsync
// [Test]
- // public async Task QueryAll_ShouldReturnAllUsersFromDatabase_WhenTheyExist()
+ // public async Task EditAsync_ReturnsTrue_WhenUserIsUpdatedSuccessfully()
+ // {
+ // User oldUser = CreateDummyUser();
+ // _ = this._context.Users.Add(oldUser);
+ // _ = await this._context.SaveChangesAsync();
+ //
+ // oldUser.UserName = "SuperSecretUserName";
+ // bool result = await this._userRepository.EditAsync(oldUser.Id, oldUser);
+ //
+ // Assert.IsTrue(result, "EditAsync does not return true when User is updated successfully");
+ // }
+ // #endregion
+ //
+ // #region GetByIdAsync
+ // [Test]
+ // public async Task GetByIdAsync_ReturnsTheUse_WhenItExists()
// {
- // //Arrange
// User dummyUserOne = CreateDummyUser();
- // User dummyUserTwo = CreateAnotherDummyUser();
+ // _ = await this._userRepository.AddAsync(dummyUserOne);
+ //
+ // User resultUser = await this._userRepository.GetByIdAsync(dummyUserOne.Id);
+ //
+ // Assert.AreEqual(dummyUserOne.UserName, resultUser.UserName);
+ // }
+ //
+ // [Test]
+ // public async Task GetByIdAsync_ReturnsNull_WhenUserDoesNotExist()
+ // {
+ // Guid id = Guid.NewGuid();
//
- // await this._userRepository.AddAsync(dummyUserOne);
- // await this._userRepository.AddAsync(dummyUserTwo);
+ // User resultUser = await this._userRepository.GetByIdAsync(id);
+ //
+ // Assert.IsNull(resultUser);
+ // }
+ // #endregion
+ //
+ // #region GetByUsernameAsync
+ // [Test]
+ // public async Task GetByUsernameAsync_ReturnsUserFromDatabase_WhenItExists()
+ // {
+ // //Arrange
+ // User dummyUser = CreateDummyUser();
+ // _ = await this._userRepository.AddAsync(dummyUser);
+ // string username = dummyUser.UserName;
//
// //Act
- // IEnumerable<User> users = this._userRepository.QueryAll();
+ // User user = await this._userRepository.GetByUsernameAsync(username);
//
// //Assert
- // Assert.AreEqual(2, users.Count(), "Method doesn't return all instances of user");
+ // Assert.AreEqual(dummyUser.Id, user.Id, "Method doesn't get the proper user from database");
// }
-
+ //
// [Test]
- // public void QueryAll_ReturnsNull_WhenNoUsersExist()
+ // public async Task GetByUsernameAsync_ReturnsNull_WhenUserDoesNotExist()
// {
- // IEnumerable<User> users = this._userRepository.QueryAll();
+ // //Act
+ // User user = await this._userRepository.GetByUsernameAsync(null);
//
- // Assert.AreEqual(0, users.Count(), "Method returns Users when there are non");
+ // //Assert
+ // Assert.IsNull(user, "Method returns user when it does not exist");
// }
- #endregion
-
- #region EditAsync
- [Test]
- public async Task EditAsync_ReturnsTrue_WhenUserIsUpdatedSuccessfully()
- {
- User oldUser = this.CreateDummyUser();
- this._context.Users.Add(oldUser);
- await this._context.SaveChangesAsync();
-
- oldUser.UserName = "SuperSecretUserName";
- bool result = await this._userRepository.EditAsync(oldUser.Id, oldUser);
-
- Assert.IsTrue(result, "EditAsync does not return true when User is updated successfully");
- }
- #endregion
-
- #region GetByIdAsync
- [Test]
- public async Task GetByIdAsync_ReturnsTheUse_WhenItExists()
- {
- User dummyUserOne = CreateDummyUser();
- await this._userRepository.AddAsync(dummyUserOne);
-
- User resultUser = await this._userRepository.GetByIdAsync(dummyUserOne.Id);
-
- Assert.AreEqual(dummyUserOne.UserName, resultUser.UserName);
- }
-
- [Test]
- public async Task GetByIdAsync_ReturnsNull_WhenUserDoesNotExist()
- {
- Guid id = Guid.NewGuid();
-
- User resultUser = await this._userRepository.GetByIdAsync(id);
-
- Assert.IsNull(resultUser);
- }
- #endregion
-
- #region GetByUsernameAsync
- [Test]
- public async Task GetByUsernameAsync_ReturnsUserFromDatabase_WhenItExists()
- {
- //Arrange
- User dummyUser = CreateDummyUser();
- await this._userRepository.AddAsync(dummyUser);
- string username = dummyUser.UserName;
-
- //Act
- User user = await this._userRepository.GetByUsernameAsync(username);
-
- //Assert
- Assert.AreEqual(dummyUser.Id, user.Id, "Method doesn't get the proper user from database");
- }
-
- [Test]
- public async Task GetByUsernameAsync_ReturnsNull_WhenUserDoesNotExist()
- {
- //Act
- User user = await this._userRepository.GetByUsernameAsync(null);
-
- //Assert
- Assert.IsNull(user, "Method returns user when it does not exist");
- }
- #endregion
-
- #region DoesUserExistAsync
- [Test]
- public async Task DoesUserExistAsync_ReturnsTrue_WhenUserExists()
- {
- User dummyUser = this.CreateDummyUser();
- this._context.Users.Add(dummyUser);
- await this._context.SaveChangesAsync();
-
- bool result = await this._userRepository.DoesUserExistAsync(dummyUser.Id);
-
- Assert.IsTrue(result, "DoesUserExistAsync does not return true when user exists");
- }
-
- [Test]
- public async Task DoesUserExistAsync_ReturnsFalse_WhenUserDoesNotExist()
- {
- Guid id = Guid.NewGuid();
-
- bool result = await this._userRepository.DoesUserExistAsync(id);
-
- Assert.IsFalse(result, "DoesUserExistAsync does not return false when user does not exist");
- }
- #endregion
-
- #region DoesUserNameExistAsync
- [Test]
- public async Task DoesUsernameExistAsync_ReturnsTrue_WhenUserWithTheNameExists()
- {
- User dummyUser = this.CreateDummyUser();
- this._context.Users.Add(dummyUser);
- await this._context.SaveChangesAsync();
-
- bool result = await this._userRepository.DoesUsernameExistAsync(dummyUser.UserName);
-
- Assert.IsTrue(result, "DoesUserNameExistAsync does not return true when username exists");
- }
-
- [Test]
- public async Task DoesUsernameExistAsync_ReturnsFalse_WhenUserWithTheNameDoesNotExist()
- {
- string userName = "Fake name";
-
- bool result = await this._userRepository.DoesUsernameExistAsync(userName);
-
- Assert.IsFalse(result, "DoesUserNameExistAsync does not return false when username does not exist");
- }
- #endregion
-
- #region DoesEmailExistAsync
- [Test]
- public async Task DoesEmailExistAsync_ReturnsTrue_WhenUserWithTheEmailExists()
- {
- User dummyUser = this.CreateDummyUser();
- this._context.Users.Add(dummyUser);
- await this._context.SaveChangesAsync();
-
- bool result = await this._userRepository.DoesEmailExistAsync(dummyUser.Email);
-
- Assert.IsTrue(result, "DoesUserNameExistAsync does not return true when email exists");
- }
-
- [Test]
- public async Task DoesEmailExistAsync_ReturnsFalse_WhenUserWithTheEmailDoesNotExist()
- {
- string email = "Fake email";
-
- bool result = await this._userRepository.DoesUsernameExistAsync(email);
-
- Assert.IsFalse(result, "DoesUserNameExistAsync does not return false when email does not exist");
- }
- #endregion
-
- #region DoesUserHaveThisFriendAsync
- //[Test]
- //public async Task DoesUserHaveThisFriendAsync_ReturnsTrue_WhenUserHasTheGivenFriend()
- //{
- // User dummyUser = this.CreateDummyUser();
- // User anotherDummyUser = this.CreateAnotherDummyUser();
- // HashSet<User> friends = new HashSet<User>
- // {
- // anotherDummyUser
- // };
- // dummyUser.Friends = friends;
-
- // this._context.Users.Add(dummyUser);
- // this._context.Users.Add(anotherDummyUser);
- // await this._context.SaveChangesAsync();
-
- // bool result = await this._userRepository.DoesUserHaveThisFriendAsync(dummyUser.Id, anotherDummyUser.Id);
-
- // Assert.IsTrue(result, "DoesUserHaveThisFriendAsync does not return true when user has the given friend");
- //}
-
+ // #endregion
+ //
+ // #region DoesUserExistAsync
// [Test]
- // public async Task DoesUserHaveThisFriendAsync_ReturnsFalse_WhenUserDoesNotHaveTheGivenFriend()
+ // public async Task DoesUserExistAsync_ReturnsTrue_WhenUserExists()
// {
- // User dummyUser = this.CreateDummyUser();
- // User anotherDummyUser = this.CreateAnotherDummyUser();
+ // User dummyUser = CreateDummyUser();
+ // _ = this._context.Users.Add(dummyUser);
+ // _ = await this._context.SaveChangesAsync();
//
- // this._context.Users.Add(dummyUser);
- // this._context.Users.Add(anotherDummyUser);
- // await this._context.SaveChangesAsync();
+ // bool result = await this._userRepository.DoesUserExistAsync(dummyUser.Id);
//
- // bool result = await this._userRepository.DoesUserHaveThisFriendAsync(dummyUser.Id, anotherDummyUser.Id);
+ // Assert.IsTrue(result, "DoesUserExistAsync does not return true when user exists");
+ // }
//
- // Assert.IsFalse(result, "DoesUserHaveThisFriendAsync does not return false when user des not have the given friend");
+ // [Test]
+ // public async Task DoesUserExistAsync_ReturnsFalse_WhenUserDoesNotExist()
+ // {
+ // Guid id = Guid.NewGuid();
+ //
+ // bool result = await this._userRepository.DoesUserExistAsync(id);
+ //
+ // Assert.IsFalse(result, "DoesUserExistAsync does not return false when user does not exist");
// }
- #endregion
-
- #region DoesUserHaveThisUsernameAsync
- [Test]
- public async Task DoesUserHaveThisUsername_ReturnsTrue_WhenUserHasTheGivenUsername()
- {
- User dummyUser = this.CreateDummyUser();
- this._context.Users.Add(dummyUser);
- await this._context.SaveChangesAsync();
-
- bool result = this._userRepository.DoesUserHaveThisUsernameAsync(dummyUser.Id, dummyUser.UserName);
-
- Assert.IsTrue(result, "DoesUserHaveThisUsernameAsync does not return true when the user has the given name");
- }
-
- [Test]
- public async Task DoesUserHaveThisUsername_ReturnsFalse_WhenUserDoesntHaveTheGivenUsername()
- {
- string username = "Fake username";
- User dummyUser = this.CreateDummyUser();
- this._context.Users.Add(dummyUser);
- await this._context.SaveChangesAsync();
-
- bool result = this._userRepository.DoesUserHaveThisUsernameAsync(dummyUser.Id, username);
-
- Assert.IsFalse(result, "DoesUserNameExistAsync does not return false when user doesnt have the given name");
- }
- #endregion
-
- #region HelperMethods
- private User CreateDummyUser()
- {
- HashSet<Language> languages = new()
- {
- new Language()
- {
- Id = Guid.NewGuid(),
- Name = "csharp"
- },
- };
-
- HashSet<Technology> technologies = new()
- {
- new Technology()
- {
- Id = Guid.NewGuid(),
- Name = "ASP.NET Core"
- },
- };
-
- HashSet<Role> roles = new()
- {
- new Role()
- {
- Id = Guid.NewGuid(),
- Name = Role.DefaultRole
- },
- };
-
- return new()
- {
- Id = Guid.NewGuid(),
- UserName = "dummyUser",
- FirstName = "Spas",
- LastName = "Spasov",
- Email = "abv@abv.bg",
- Languages = languages,
- Technologies = technologies,
- Roles = roles
- };
- }
-
- private User CreateAnotherDummyUser()
- {
- HashSet<Language> languages = new()
- {
- new Language()
- {
- Id = Guid.NewGuid(),
- Name = "typescript"
- },
- };
-
- HashSet<Technology> technologies = new()
- {
- new Technology()
- {
- Id = Guid.NewGuid(),
- Name = "Angular"
- },
- };
-
- HashSet<Role> roles = new()
- {
- new Role()
- {
- Id = Guid.NewGuid(),
- Name = Role.DefaultRole
- },
- };
-
- return new()
- {
- Id = Guid.NewGuid(),
- UserName = "anotherDummyUser",
- FirstName = "Alex",
- LastName = "Spiridonov",
- Email = "a_spiridonov@abv.bg",
- Languages = languages,
- Technologies = technologies,
- Roles = roles
- };
- }
- #endregion
+ // #endregion
+ //
+ // #region DoesUserNameExistAsync
+ // [Test]
+ // public async Task DoesUsernameExistAsync_ReturnsTrue_WhenUserWithTheNameExists()
+ // {
+ // User dummyUser = CreateDummyUser();
+ // _ = this._context.Users.Add(dummyUser);
+ // _ = await this._context.SaveChangesAsync();
+ //
+ // bool result = await this._userRepository.DoesUsernameExistAsync(dummyUser.UserName);
+ //
+ // Assert.IsTrue(result, "DoesUserNameExistAsync does not return true when username exists");
+ // }
+ //
+ // [Test]
+ // public async Task DoesUsernameExistAsync_ReturnsFalse_WhenUserWithTheNameDoesNotExist()
+ // {
+ // string userName = "Fake name";
+ //
+ // bool result = await this._userRepository.DoesUsernameExistAsync(userName);
+ //
+ // Assert.IsFalse(result, "DoesUserNameExistAsync does not return false when username does not exist");
+ // }
+ // #endregion
+ //
+ // #region DoesEmailExistAsync
+ // [Test]
+ // public async Task DoesEmailExistAsync_ReturnsTrue_WhenUserWithTheEmailExists()
+ // {
+ // User dummyUser = CreateDummyUser();
+ // _ = this._context.Users.Add(dummyUser);
+ // _ = await this._context.SaveChangesAsync();
+ //
+ // bool result = await this._userRepository.DoesEmailExistAsync(dummyUser.Email);
+ //
+ // Assert.IsTrue(result, "DoesUserNameExistAsync does not return true when email exists");
+ // }
+ //
+ // [Test]
+ // public async Task DoesEmailExistAsync_ReturnsFalse_WhenUserWithTheEmailDoesNotExist()
+ // {
+ // string email = "Fake email";
+ //
+ // bool result = await this._userRepository.DoesEmailExistAsync(email);
+ //
+ // Assert.IsFalse(result, "DoesUserNameExistAsync does not return false when email does not exist");
+ // }
+ // #endregion
+ //
+ // #region DoesUserHaveThisUsernameAsync
+ // [Test]
+ // public async Task DoesUserHaveThisUsername_ReturnsTrue_WhenUserHasTheGivenUsername()
+ // {
+ // User dummyUser = CreateDummyUser();
+ // _ = this._context.Users.Add(dummyUser);
+ // _ = await this._context.SaveChangesAsync();
+ //
+ // bool result = await this._userRepository.DoesUserHaveThisUsernameAsync(dummyUser.Id, dummyUser.UserName);
+ //
+ // Assert.IsTrue(result, "DoesUserHaveThisUsernameAsync does not return true when the user has the given name");
+ // }
+ //
+ // [Test]
+ // public async Task DoesUserHaveThisUsername_ReturnsFalse_WhenUserDoesntHaveTheGivenUsername()
+ // {
+ // string username = "Fake username";
+ // User dummyUser = CreateDummyUser();
+ // _ = this._context.Users.Add(dummyUser);
+ // _ = await this._context.SaveChangesAsync();
+ //
+ // bool result = await this._userRepository.DoesUserHaveThisUsernameAsync(dummyUser.Id, username);
+ //
+ // Assert.IsFalse(result, "DoesUserNameExistAsync does not return false when user doesnt have the given name");
+ // }
+ // #endregion
+ //
+ // #region HelperMethods
+ // private static User CreateDummyUser()
+ // {
+ // HashSet<Language> languages = new()
+ // {
+ // new Language()
+ // {
+ // Id = Guid.NewGuid(),
+ // Name = "csharp"
+ // },
+ // };
+ //
+ // HashSet<Technology> technologies = new()
+ // {
+ // new Technology()
+ // {
+ // Id = Guid.NewGuid(),
+ // Name = "ASP.NET Core"
+ // },
+ // };
+ //
+ // HashSet<Role> roles = new()
+ // {
+ // new Role()
+ // {
+ // Id = Guid.NewGuid(),
+ // Name = Role.DefaultRole
+ // },
+ // };
+ //
+ // return new()
+ // {
+ // Id = Guid.NewGuid(),
+ // UserName = "dummyUser",
+ // FirstName = "Spas",
+ // LastName = "Spasov",
+ // Email = "abv@abv.bg",
+ // Languages = languages,
+ // Technologies = technologies,
+ // Roles = roles
+ // };
+ // }
+ // #endregion
}
}
diff --git a/src/Data/DevHive.Data/Migrations/20210216152915_Inital.cs b/src/Data/DevHive.Data/Migrations/20210216152915_Inital.cs
index 131501e..4c5b982 100644
--- a/src/Data/DevHive.Data/Migrations/20210216152915_Inital.cs
+++ b/src/Data/DevHive.Data/Migrations/20210216152915_Inital.cs
@@ -1,586 +1,587 @@
-using System;
+// <auto-generated />
+using System;
using Microsoft.EntityFrameworkCore.Migrations;
using Npgsql.EntityFrameworkCore.PostgreSQL.Metadata;
namespace DevHive.Data.Migrations
{
- public partial class Inital : Migration
- {
- protected override void Up(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.CreateTable(
- name: "AspNetRoles",
- columns: table => new
- {
- Id = table.Column<Guid>(type: "uuid", nullable: false),
- Name = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: true),
- NormalizedName = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: true),
- ConcurrencyStamp = table.Column<string>(type: "text", nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_AspNetRoles", x => x.Id);
- });
-
- migrationBuilder.CreateTable(
- name: "AspNetUsers",
- columns: table => new
- {
- Id = table.Column<Guid>(type: "uuid", nullable: false),
- FirstName = table.Column<string>(type: "text", nullable: true),
- LastName = table.Column<string>(type: "text", nullable: true),
- UserId = table.Column<Guid>(type: "uuid", nullable: true),
- UserName = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: true),
- NormalizedUserName = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: true),
- Email = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: true),
- NormalizedEmail = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: true),
- EmailConfirmed = table.Column<bool>(type: "boolean", nullable: false),
- PasswordHash = table.Column<string>(type: "text", nullable: true),
- SecurityStamp = table.Column<string>(type: "text", nullable: true),
- ConcurrencyStamp = table.Column<string>(type: "text", nullable: true),
- PhoneNumber = table.Column<string>(type: "text", nullable: true),
- PhoneNumberConfirmed = table.Column<bool>(type: "boolean", nullable: false),
- TwoFactorEnabled = table.Column<bool>(type: "boolean", nullable: false),
- LockoutEnd = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: true),
- LockoutEnabled = table.Column<bool>(type: "boolean", nullable: false),
- AccessFailedCount = table.Column<int>(type: "integer", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_AspNetUsers", x => x.Id);
- table.ForeignKey(
- name: "FK_AspNetUsers_AspNetUsers_UserId",
- column: x => x.UserId,
- principalTable: "AspNetUsers",
- principalColumn: "Id",
- onDelete: ReferentialAction.Restrict);
- });
-
- migrationBuilder.CreateTable(
- name: "Languages",
- columns: table => new
- {
- Id = table.Column<Guid>(type: "uuid", nullable: false),
- Name = table.Column<string>(type: "text", nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_Languages", x => x.Id);
- });
-
- migrationBuilder.CreateTable(
- name: "Technologies",
- columns: table => new
- {
- Id = table.Column<Guid>(type: "uuid", nullable: false),
- Name = table.Column<string>(type: "text", nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_Technologies", x => x.Id);
- });
-
- migrationBuilder.CreateTable(
- name: "AspNetRoleClaims",
- columns: table => new
- {
- Id = table.Column<int>(type: "integer", nullable: false)
- .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
- RoleId = table.Column<Guid>(type: "uuid", nullable: false),
- ClaimType = table.Column<string>(type: "text", nullable: true),
- ClaimValue = table.Column<string>(type: "text", nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_AspNetRoleClaims", x => x.Id);
- table.ForeignKey(
- name: "FK_AspNetRoleClaims_AspNetRoles_RoleId",
- column: x => x.RoleId,
- principalTable: "AspNetRoles",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "AspNetUserClaims",
- columns: table => new
- {
- Id = table.Column<int>(type: "integer", nullable: false)
- .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
- UserId = table.Column<Guid>(type: "uuid", nullable: false),
- ClaimType = table.Column<string>(type: "text", nullable: true),
- ClaimValue = table.Column<string>(type: "text", nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_AspNetUserClaims", x => x.Id);
- table.ForeignKey(
- name: "FK_AspNetUserClaims_AspNetUsers_UserId",
- column: x => x.UserId,
- principalTable: "AspNetUsers",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "AspNetUserLogins",
- columns: table => new
- {
- LoginProvider = table.Column<string>(type: "text", nullable: false),
- ProviderKey = table.Column<string>(type: "text", nullable: false),
- ProviderDisplayName = table.Column<string>(type: "text", nullable: true),
- UserId = table.Column<Guid>(type: "uuid", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_AspNetUserLogins", x => new { x.LoginProvider, x.ProviderKey });
- table.ForeignKey(
- name: "FK_AspNetUserLogins_AspNetUsers_UserId",
- column: x => x.UserId,
- principalTable: "AspNetUsers",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "AspNetUserRoles",
- columns: table => new
- {
- UserId = table.Column<Guid>(type: "uuid", nullable: false),
- RoleId = table.Column<Guid>(type: "uuid", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_AspNetUserRoles", x => new { x.UserId, x.RoleId });
- table.ForeignKey(
- name: "FK_AspNetUserRoles_AspNetRoles_RoleId",
- column: x => x.RoleId,
- principalTable: "AspNetRoles",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- table.ForeignKey(
- name: "FK_AspNetUserRoles_AspNetUsers_UserId",
- column: x => x.UserId,
- principalTable: "AspNetUsers",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "AspNetUserTokens",
- columns: table => new
- {
- UserId = table.Column<Guid>(type: "uuid", nullable: false),
- LoginProvider = table.Column<string>(type: "text", nullable: false),
- Name = table.Column<string>(type: "text", nullable: false),
- Value = table.Column<string>(type: "text", nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_AspNetUserTokens", x => new { x.UserId, x.LoginProvider, x.Name });
- table.ForeignKey(
- name: "FK_AspNetUserTokens_AspNetUsers_UserId",
- column: x => x.UserId,
- principalTable: "AspNetUsers",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "Posts",
- columns: table => new
- {
- Id = table.Column<Guid>(type: "uuid", nullable: false),
- CreatorId = table.Column<Guid>(type: "uuid", nullable: true),
- Message = table.Column<string>(type: "text", nullable: true),
- TimeCreated = table.Column<DateTime>(type: "timestamp without time zone", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_Posts", x => x.Id);
- table.ForeignKey(
- name: "FK_Posts_AspNetUsers_CreatorId",
- column: x => x.CreatorId,
- principalTable: "AspNetUsers",
- principalColumn: "Id",
- onDelete: ReferentialAction.Restrict);
- });
-
- migrationBuilder.CreateTable(
- name: "ProfilePicture",
- columns: table => new
- {
- Id = table.Column<Guid>(type: "uuid", nullable: false),
- UserId = table.Column<Guid>(type: "uuid", nullable: false),
- PictureURL = table.Column<string>(type: "text", nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_ProfilePicture", x => x.Id);
- table.ForeignKey(
- name: "FK_ProfilePicture_AspNetUsers_UserId",
- column: x => x.UserId,
- principalTable: "AspNetUsers",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "RoleUser",
- columns: table => new
- {
- RolesId = table.Column<Guid>(type: "uuid", nullable: false),
- UsersId = table.Column<Guid>(type: "uuid", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_RoleUser", x => new { x.RolesId, x.UsersId });
- table.ForeignKey(
- name: "FK_RoleUser_AspNetRoles_RolesId",
- column: x => x.RolesId,
- principalTable: "AspNetRoles",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- table.ForeignKey(
- name: "FK_RoleUser_AspNetUsers_UsersId",
- column: x => x.UsersId,
- principalTable: "AspNetUsers",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "LanguageUser",
- columns: table => new
- {
- LanguagesId = table.Column<Guid>(type: "uuid", nullable: false),
- UsersId = table.Column<Guid>(type: "uuid", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_LanguageUser", x => new { x.LanguagesId, x.UsersId });
- table.ForeignKey(
- name: "FK_LanguageUser_AspNetUsers_UsersId",
- column: x => x.UsersId,
- principalTable: "AspNetUsers",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- table.ForeignKey(
- name: "FK_LanguageUser_Languages_LanguagesId",
- column: x => x.LanguagesId,
- principalTable: "Languages",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "TechnologyUser",
- columns: table => new
- {
- TechnologiesId = table.Column<Guid>(type: "uuid", nullable: false),
- UsersId = table.Column<Guid>(type: "uuid", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_TechnologyUser", x => new { x.TechnologiesId, x.UsersId });
- table.ForeignKey(
- name: "FK_TechnologyUser_AspNetUsers_UsersId",
- column: x => x.UsersId,
- principalTable: "AspNetUsers",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- table.ForeignKey(
- name: "FK_TechnologyUser_Technologies_TechnologiesId",
- column: x => x.TechnologiesId,
- principalTable: "Technologies",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "Comments",
- columns: table => new
- {
- Id = table.Column<Guid>(type: "uuid", nullable: false),
- PostId = table.Column<Guid>(type: "uuid", nullable: true),
- CreatorId = table.Column<Guid>(type: "uuid", nullable: true),
- Message = table.Column<string>(type: "text", nullable: true),
- TimeCreated = table.Column<DateTime>(type: "timestamp without time zone", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_Comments", x => x.Id);
- table.ForeignKey(
- name: "FK_Comments_AspNetUsers_CreatorId",
- column: x => x.CreatorId,
- principalTable: "AspNetUsers",
- principalColumn: "Id",
- onDelete: ReferentialAction.Restrict);
- table.ForeignKey(
- name: "FK_Comments_Posts_PostId",
- column: x => x.PostId,
- principalTable: "Posts",
- principalColumn: "Id",
- onDelete: ReferentialAction.Restrict);
- });
-
- migrationBuilder.CreateTable(
- name: "PostAttachments",
- columns: table => new
- {
- Id = table.Column<Guid>(type: "uuid", nullable: false),
- PostId = table.Column<Guid>(type: "uuid", nullable: true),
- FileUrl = table.Column<string>(type: "text", nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_PostAttachments", x => x.Id);
- table.ForeignKey(
- name: "FK_PostAttachments_Posts_PostId",
- column: x => x.PostId,
- principalTable: "Posts",
- principalColumn: "Id",
- onDelete: ReferentialAction.Restrict);
- });
-
- migrationBuilder.CreateTable(
- name: "RatedPosts",
- columns: table => new
- {
- UserId = table.Column<Guid>(type: "uuid", nullable: false),
- PostId = table.Column<Guid>(type: "uuid", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_RatedPosts", x => new { x.UserId, x.PostId });
- table.ForeignKey(
- name: "FK_RatedPosts_AspNetUsers_UserId",
- column: x => x.UserId,
- principalTable: "AspNetUsers",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- table.ForeignKey(
- name: "FK_RatedPosts_Posts_PostId",
- column: x => x.PostId,
- principalTable: "Posts",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "Rating",
- columns: table => new
- {
- Id = table.Column<Guid>(type: "uuid", nullable: false),
- PostId = table.Column<Guid>(type: "uuid", nullable: false),
- Rate = table.Column<int>(type: "integer", nullable: false)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_Rating", x => x.Id);
- table.ForeignKey(
- name: "FK_Rating_Posts_PostId",
- column: x => x.PostId,
- principalTable: "Posts",
- principalColumn: "Id",
- onDelete: ReferentialAction.Cascade);
- });
-
- migrationBuilder.CreateTable(
- name: "UserRates",
- columns: table => new
- {
- Id = table.Column<Guid>(type: "uuid", nullable: false),
- UserId = table.Column<Guid>(type: "uuid", nullable: true),
- Liked = table.Column<bool>(type: "boolean", nullable: false),
- PostId = table.Column<Guid>(type: "uuid", nullable: true)
- },
- constraints: table =>
- {
- table.PrimaryKey("PK_UserRates", x => x.Id);
- table.ForeignKey(
- name: "FK_UserRates_AspNetUsers_UserId",
- column: x => x.UserId,
- principalTable: "AspNetUsers",
- principalColumn: "Id",
- onDelete: ReferentialAction.Restrict);
- table.ForeignKey(
- name: "FK_UserRates_Posts_PostId",
- column: x => x.PostId,
- principalTable: "Posts",
- principalColumn: "Id",
- onDelete: ReferentialAction.Restrict);
- });
-
- migrationBuilder.CreateIndex(
- name: "IX_AspNetRoleClaims_RoleId",
- table: "AspNetRoleClaims",
- column: "RoleId");
-
- migrationBuilder.CreateIndex(
- name: "RoleNameIndex",
- table: "AspNetRoles",
- column: "NormalizedName",
- unique: true);
-
- migrationBuilder.CreateIndex(
- name: "IX_AspNetUserClaims_UserId",
- table: "AspNetUserClaims",
- column: "UserId");
-
- migrationBuilder.CreateIndex(
- name: "IX_AspNetUserLogins_UserId",
- table: "AspNetUserLogins",
- column: "UserId");
-
- migrationBuilder.CreateIndex(
- name: "IX_AspNetUserRoles_RoleId",
- table: "AspNetUserRoles",
- column: "RoleId");
-
- migrationBuilder.CreateIndex(
- name: "EmailIndex",
- table: "AspNetUsers",
- column: "NormalizedEmail");
-
- migrationBuilder.CreateIndex(
- name: "IX_AspNetUsers_UserId",
- table: "AspNetUsers",
- column: "UserId");
-
- migrationBuilder.CreateIndex(
- name: "IX_AspNetUsers_UserName",
- table: "AspNetUsers",
- column: "UserName",
- unique: true);
-
- migrationBuilder.CreateIndex(
- name: "UserNameIndex",
- table: "AspNetUsers",
- column: "NormalizedUserName",
- unique: true);
-
- migrationBuilder.CreateIndex(
- name: "IX_Comments_CreatorId",
- table: "Comments",
- column: "CreatorId");
-
- migrationBuilder.CreateIndex(
- name: "IX_Comments_PostId",
- table: "Comments",
- column: "PostId");
-
- migrationBuilder.CreateIndex(
- name: "IX_LanguageUser_UsersId",
- table: "LanguageUser",
- column: "UsersId");
-
- migrationBuilder.CreateIndex(
- name: "IX_PostAttachments_PostId",
- table: "PostAttachments",
- column: "PostId");
-
- migrationBuilder.CreateIndex(
- name: "IX_Posts_CreatorId",
- table: "Posts",
- column: "CreatorId");
-
- migrationBuilder.CreateIndex(
- name: "IX_ProfilePicture_UserId",
- table: "ProfilePicture",
- column: "UserId",
- unique: true);
-
- migrationBuilder.CreateIndex(
- name: "IX_RatedPosts_PostId",
- table: "RatedPosts",
- column: "PostId");
-
- migrationBuilder.CreateIndex(
- name: "IX_Rating_PostId",
- table: "Rating",
- column: "PostId",
- unique: true);
-
- migrationBuilder.CreateIndex(
- name: "IX_RoleUser_UsersId",
- table: "RoleUser",
- column: "UsersId");
-
- migrationBuilder.CreateIndex(
- name: "IX_TechnologyUser_UsersId",
- table: "TechnologyUser",
- column: "UsersId");
-
- migrationBuilder.CreateIndex(
- name: "IX_UserRates_PostId",
- table: "UserRates",
- column: "PostId");
-
- migrationBuilder.CreateIndex(
- name: "IX_UserRates_UserId",
- table: "UserRates",
- column: "UserId");
- }
-
- protected override void Down(MigrationBuilder migrationBuilder)
- {
- migrationBuilder.DropTable(
- name: "AspNetRoleClaims");
-
- migrationBuilder.DropTable(
- name: "AspNetUserClaims");
-
- migrationBuilder.DropTable(
- name: "AspNetUserLogins");
-
- migrationBuilder.DropTable(
- name: "AspNetUserRoles");
-
- migrationBuilder.DropTable(
- name: "AspNetUserTokens");
-
- migrationBuilder.DropTable(
- name: "Comments");
-
- migrationBuilder.DropTable(
- name: "LanguageUser");
-
- migrationBuilder.DropTable(
- name: "PostAttachments");
-
- migrationBuilder.DropTable(
- name: "ProfilePicture");
-
- migrationBuilder.DropTable(
- name: "RatedPosts");
-
- migrationBuilder.DropTable(
- name: "Rating");
+ public partial class Inital : Migration
+ {
+ protected override void Up(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.CreateTable(
+ name: "AspNetRoles",
+ columns: table => new
+ {
+ Id = table.Column<Guid>(type: "uuid", nullable: false),
+ Name = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: true),
+ NormalizedName = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: true),
+ ConcurrencyStamp = table.Column<string>(type: "text", nullable: true)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_AspNetRoles", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "AspNetUsers",
+ columns: table => new
+ {
+ Id = table.Column<Guid>(type: "uuid", nullable: false),
+ FirstName = table.Column<string>(type: "text", nullable: true),
+ LastName = table.Column<string>(type: "text", nullable: true),
+ UserId = table.Column<Guid>(type: "uuid", nullable: true),
+ UserName = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: true),
+ NormalizedUserName = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: true),
+ Email = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: true),
+ NormalizedEmail = table.Column<string>(type: "character varying(256)", maxLength: 256, nullable: true),
+ EmailConfirmed = table.Column<bool>(type: "boolean", nullable: false),
+ PasswordHash = table.Column<string>(type: "text", nullable: true),
+ SecurityStamp = table.Column<string>(type: "text", nullable: true),
+ ConcurrencyStamp = table.Column<string>(type: "text", nullable: true),
+ PhoneNumber = table.Column<string>(type: "text", nullable: true),
+ PhoneNumberConfirmed = table.Column<bool>(type: "boolean", nullable: false),
+ TwoFactorEnabled = table.Column<bool>(type: "boolean", nullable: false),
+ LockoutEnd = table.Column<DateTimeOffset>(type: "timestamp with time zone", nullable: true),
+ LockoutEnabled = table.Column<bool>(type: "boolean", nullable: false),
+ AccessFailedCount = table.Column<int>(type: "integer", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_AspNetUsers", x => x.Id);
+ table.ForeignKey(
+ name: "FK_AspNetUsers_AspNetUsers_UserId",
+ column: x => x.UserId,
+ principalTable: "AspNetUsers",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Restrict);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Languages",
+ columns: table => new
+ {
+ Id = table.Column<Guid>(type: "uuid", nullable: false),
+ Name = table.Column<string>(type: "text", nullable: true)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Languages", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Technologies",
+ columns: table => new
+ {
+ Id = table.Column<Guid>(type: "uuid", nullable: false),
+ Name = table.Column<string>(type: "text", nullable: true)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Technologies", x => x.Id);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "AspNetRoleClaims",
+ columns: table => new
+ {
+ Id = table.Column<int>(type: "integer", nullable: false)
+ .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+ RoleId = table.Column<Guid>(type: "uuid", nullable: false),
+ ClaimType = table.Column<string>(type: "text", nullable: true),
+ ClaimValue = table.Column<string>(type: "text", nullable: true)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_AspNetRoleClaims", x => x.Id);
+ table.ForeignKey(
+ name: "FK_AspNetRoleClaims_AspNetRoles_RoleId",
+ column: x => x.RoleId,
+ principalTable: "AspNetRoles",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "AspNetUserClaims",
+ columns: table => new
+ {
+ Id = table.Column<int>(type: "integer", nullable: false)
+ .Annotation("Npgsql:ValueGenerationStrategy", NpgsqlValueGenerationStrategy.IdentityByDefaultColumn),
+ UserId = table.Column<Guid>(type: "uuid", nullable: false),
+ ClaimType = table.Column<string>(type: "text", nullable: true),
+ ClaimValue = table.Column<string>(type: "text", nullable: true)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_AspNetUserClaims", x => x.Id);
+ table.ForeignKey(
+ name: "FK_AspNetUserClaims_AspNetUsers_UserId",
+ column: x => x.UserId,
+ principalTable: "AspNetUsers",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "AspNetUserLogins",
+ columns: table => new
+ {
+ LoginProvider = table.Column<string>(type: "text", nullable: false),
+ ProviderKey = table.Column<string>(type: "text", nullable: false),
+ ProviderDisplayName = table.Column<string>(type: "text", nullable: true),
+ UserId = table.Column<Guid>(type: "uuid", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_AspNetUserLogins", x => new { x.LoginProvider, x.ProviderKey });
+ table.ForeignKey(
+ name: "FK_AspNetUserLogins_AspNetUsers_UserId",
+ column: x => x.UserId,
+ principalTable: "AspNetUsers",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "AspNetUserRoles",
+ columns: table => new
+ {
+ UserId = table.Column<Guid>(type: "uuid", nullable: false),
+ RoleId = table.Column<Guid>(type: "uuid", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_AspNetUserRoles", x => new { x.UserId, x.RoleId });
+ table.ForeignKey(
+ name: "FK_AspNetUserRoles_AspNetRoles_RoleId",
+ column: x => x.RoleId,
+ principalTable: "AspNetRoles",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ table.ForeignKey(
+ name: "FK_AspNetUserRoles_AspNetUsers_UserId",
+ column: x => x.UserId,
+ principalTable: "AspNetUsers",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "AspNetUserTokens",
+ columns: table => new
+ {
+ UserId = table.Column<Guid>(type: "uuid", nullable: false),
+ LoginProvider = table.Column<string>(type: "text", nullable: false),
+ Name = table.Column<string>(type: "text", nullable: false),
+ Value = table.Column<string>(type: "text", nullable: true)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_AspNetUserTokens", x => new { x.UserId, x.LoginProvider, x.Name });
+ table.ForeignKey(
+ name: "FK_AspNetUserTokens_AspNetUsers_UserId",
+ column: x => x.UserId,
+ principalTable: "AspNetUsers",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Posts",
+ columns: table => new
+ {
+ Id = table.Column<Guid>(type: "uuid", nullable: false),
+ CreatorId = table.Column<Guid>(type: "uuid", nullable: true),
+ Message = table.Column<string>(type: "text", nullable: true),
+ TimeCreated = table.Column<DateTime>(type: "timestamp without time zone", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Posts", x => x.Id);
+ table.ForeignKey(
+ name: "FK_Posts_AspNetUsers_CreatorId",
+ column: x => x.CreatorId,
+ principalTable: "AspNetUsers",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Restrict);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "ProfilePicture",
+ columns: table => new
+ {
+ Id = table.Column<Guid>(type: "uuid", nullable: false),
+ UserId = table.Column<Guid>(type: "uuid", nullable: false),
+ PictureURL = table.Column<string>(type: "text", nullable: true)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_ProfilePicture", x => x.Id);
+ table.ForeignKey(
+ name: "FK_ProfilePicture_AspNetUsers_UserId",
+ column: x => x.UserId,
+ principalTable: "AspNetUsers",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "RoleUser",
+ columns: table => new
+ {
+ RolesId = table.Column<Guid>(type: "uuid", nullable: false),
+ UsersId = table.Column<Guid>(type: "uuid", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_RoleUser", x => new { x.RolesId, x.UsersId });
+ table.ForeignKey(
+ name: "FK_RoleUser_AspNetRoles_RolesId",
+ column: x => x.RolesId,
+ principalTable: "AspNetRoles",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ table.ForeignKey(
+ name: "FK_RoleUser_AspNetUsers_UsersId",
+ column: x => x.UsersId,
+ principalTable: "AspNetUsers",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "LanguageUser",
+ columns: table => new
+ {
+ LanguagesId = table.Column<Guid>(type: "uuid", nullable: false),
+ UsersId = table.Column<Guid>(type: "uuid", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_LanguageUser", x => new { x.LanguagesId, x.UsersId });
+ table.ForeignKey(
+ name: "FK_LanguageUser_AspNetUsers_UsersId",
+ column: x => x.UsersId,
+ principalTable: "AspNetUsers",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ table.ForeignKey(
+ name: "FK_LanguageUser_Languages_LanguagesId",
+ column: x => x.LanguagesId,
+ principalTable: "Languages",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "TechnologyUser",
+ columns: table => new
+ {
+ TechnologiesId = table.Column<Guid>(type: "uuid", nullable: false),
+ UsersId = table.Column<Guid>(type: "uuid", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_TechnologyUser", x => new { x.TechnologiesId, x.UsersId });
+ table.ForeignKey(
+ name: "FK_TechnologyUser_AspNetUsers_UsersId",
+ column: x => x.UsersId,
+ principalTable: "AspNetUsers",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ table.ForeignKey(
+ name: "FK_TechnologyUser_Technologies_TechnologiesId",
+ column: x => x.TechnologiesId,
+ principalTable: "Technologies",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Comments",
+ columns: table => new
+ {
+ Id = table.Column<Guid>(type: "uuid", nullable: false),
+ PostId = table.Column<Guid>(type: "uuid", nullable: true),
+ CreatorId = table.Column<Guid>(type: "uuid", nullable: true),
+ Message = table.Column<string>(type: "text", nullable: true),
+ TimeCreated = table.Column<DateTime>(type: "timestamp without time zone", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Comments", x => x.Id);
+ table.ForeignKey(
+ name: "FK_Comments_AspNetUsers_CreatorId",
+ column: x => x.CreatorId,
+ principalTable: "AspNetUsers",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Restrict);
+ table.ForeignKey(
+ name: "FK_Comments_Posts_PostId",
+ column: x => x.PostId,
+ principalTable: "Posts",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Restrict);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "PostAttachments",
+ columns: table => new
+ {
+ Id = table.Column<Guid>(type: "uuid", nullable: false),
+ PostId = table.Column<Guid>(type: "uuid", nullable: true),
+ FileUrl = table.Column<string>(type: "text", nullable: true)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_PostAttachments", x => x.Id);
+ table.ForeignKey(
+ name: "FK_PostAttachments_Posts_PostId",
+ column: x => x.PostId,
+ principalTable: "Posts",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Restrict);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "RatedPosts",
+ columns: table => new
+ {
+ UserId = table.Column<Guid>(type: "uuid", nullable: false),
+ PostId = table.Column<Guid>(type: "uuid", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_RatedPosts", x => new { x.UserId, x.PostId });
+ table.ForeignKey(
+ name: "FK_RatedPosts_AspNetUsers_UserId",
+ column: x => x.UserId,
+ principalTable: "AspNetUsers",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ table.ForeignKey(
+ name: "FK_RatedPosts_Posts_PostId",
+ column: x => x.PostId,
+ principalTable: "Posts",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "Rating",
+ columns: table => new
+ {
+ Id = table.Column<Guid>(type: "uuid", nullable: false),
+ PostId = table.Column<Guid>(type: "uuid", nullable: false),
+ Rate = table.Column<int>(type: "integer", nullable: false)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_Rating", x => x.Id);
+ table.ForeignKey(
+ name: "FK_Rating_Posts_PostId",
+ column: x => x.PostId,
+ principalTable: "Posts",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Cascade);
+ });
+
+ migrationBuilder.CreateTable(
+ name: "UserRates",
+ columns: table => new
+ {
+ Id = table.Column<Guid>(type: "uuid", nullable: false),
+ UserId = table.Column<Guid>(type: "uuid", nullable: true),
+ Liked = table.Column<bool>(type: "boolean", nullable: false),
+ PostId = table.Column<Guid>(type: "uuid", nullable: true)
+ },
+ constraints: table =>
+ {
+ table.PrimaryKey("PK_UserRates", x => x.Id);
+ table.ForeignKey(
+ name: "FK_UserRates_AspNetUsers_UserId",
+ column: x => x.UserId,
+ principalTable: "AspNetUsers",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Restrict);
+ table.ForeignKey(
+ name: "FK_UserRates_Posts_PostId",
+ column: x => x.PostId,
+ principalTable: "Posts",
+ principalColumn: "Id",
+ onDelete: ReferentialAction.Restrict);
+ });
+
+ migrationBuilder.CreateIndex(
+ name: "IX_AspNetRoleClaims_RoleId",
+ table: "AspNetRoleClaims",
+ column: "RoleId");
+
+ migrationBuilder.CreateIndex(
+ name: "RoleNameIndex",
+ table: "AspNetRoles",
+ column: "NormalizedName",
+ unique: true);
+
+ migrationBuilder.CreateIndex(
+ name: "IX_AspNetUserClaims_UserId",
+ table: "AspNetUserClaims",
+ column: "UserId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_AspNetUserLogins_UserId",
+ table: "AspNetUserLogins",
+ column: "UserId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_AspNetUserRoles_RoleId",
+ table: "AspNetUserRoles",
+ column: "RoleId");
+
+ migrationBuilder.CreateIndex(
+ name: "EmailIndex",
+ table: "AspNetUsers",
+ column: "NormalizedEmail");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_AspNetUsers_UserId",
+ table: "AspNetUsers",
+ column: "UserId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_AspNetUsers_UserName",
+ table: "AspNetUsers",
+ column: "UserName",
+ unique: true);
+
+ migrationBuilder.CreateIndex(
+ name: "UserNameIndex",
+ table: "AspNetUsers",
+ column: "NormalizedUserName",
+ unique: true);
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Comments_CreatorId",
+ table: "Comments",
+ column: "CreatorId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Comments_PostId",
+ table: "Comments",
+ column: "PostId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_LanguageUser_UsersId",
+ table: "LanguageUser",
+ column: "UsersId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_PostAttachments_PostId",
+ table: "PostAttachments",
+ column: "PostId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Posts_CreatorId",
+ table: "Posts",
+ column: "CreatorId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_ProfilePicture_UserId",
+ table: "ProfilePicture",
+ column: "UserId",
+ unique: true);
+
+ migrationBuilder.CreateIndex(
+ name: "IX_RatedPosts_PostId",
+ table: "RatedPosts",
+ column: "PostId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_Rating_PostId",
+ table: "Rating",
+ column: "PostId",
+ unique: true);
+
+ migrationBuilder.CreateIndex(
+ name: "IX_RoleUser_UsersId",
+ table: "RoleUser",
+ column: "UsersId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_TechnologyUser_UsersId",
+ table: "TechnologyUser",
+ column: "UsersId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_UserRates_PostId",
+ table: "UserRates",
+ column: "PostId");
+
+ migrationBuilder.CreateIndex(
+ name: "IX_UserRates_UserId",
+ table: "UserRates",
+ column: "UserId");
+ }
+
+ protected override void Down(MigrationBuilder migrationBuilder)
+ {
+ migrationBuilder.DropTable(
+ name: "AspNetRoleClaims");
+
+ migrationBuilder.DropTable(
+ name: "AspNetUserClaims");
+
+ migrationBuilder.DropTable(
+ name: "AspNetUserLogins");
+
+ migrationBuilder.DropTable(
+ name: "AspNetUserRoles");
+
+ migrationBuilder.DropTable(
+ name: "AspNetUserTokens");
+
+ migrationBuilder.DropTable(
+ name: "Comments");
+
+ migrationBuilder.DropTable(
+ name: "LanguageUser");
+
+ migrationBuilder.DropTable(
+ name: "PostAttachments");
+
+ migrationBuilder.DropTable(
+ name: "ProfilePicture");
+
+ migrationBuilder.DropTable(
+ name: "RatedPosts");
+
+ migrationBuilder.DropTable(
+ name: "Rating");
- migrationBuilder.DropTable(
- name: "RoleUser");
+ migrationBuilder.DropTable(
+ name: "RoleUser");
- migrationBuilder.DropTable(
- name: "TechnologyUser");
+ migrationBuilder.DropTable(
+ name: "TechnologyUser");
- migrationBuilder.DropTable(
- name: "UserRates");
+ migrationBuilder.DropTable(
+ name: "UserRates");
- migrationBuilder.DropTable(
- name: "Languages");
+ migrationBuilder.DropTable(
+ name: "Languages");
- migrationBuilder.DropTable(
- name: "AspNetRoles");
+ migrationBuilder.DropTable(
+ name: "AspNetRoles");
- migrationBuilder.DropTable(
- name: "Technologies");
+ migrationBuilder.DropTable(
+ name: "Technologies");
- migrationBuilder.DropTable(
- name: "Posts");
+ migrationBuilder.DropTable(
+ name: "Posts");
- migrationBuilder.DropTable(
- name: "AspNetUsers");
- }
- }
+ migrationBuilder.DropTable(
+ name: "AspNetUsers");
+ }
+ }
}
diff --git a/src/Services/DevHive.Services.Tests/CommentService.Tests.cs b/src/Services/DevHive.Services.Tests/CommentService.Tests.cs
index d511739..3d58bc6 100644
--- a/src/Services/DevHive.Services.Tests/CommentService.Tests.cs
+++ b/src/Services/DevHive.Services.Tests/CommentService.Tests.cs
@@ -14,21 +14,21 @@ namespace DevHive.Services.Tests
public class CommentServiceTests
{
private const string MESSAGE = "Gosho Trapov";
- private Mock<IUserRepository> UserRepositoryMock { get; set; }
- private Mock<IPostRepository> PostRepositoryMock { get; set; }
- private Mock<ICommentRepository> CommentRepositoryMock { get; set; }
- private Mock<IMapper> MapperMock { get; set; }
- private CommentService CommentService { get; set; }
+ private Mock<IUserRepository> _userRepositoryMock;
+ private Mock<IPostRepository> _postRepositoryMock;
+ private Mock<ICommentRepository> _commentRepositoryMock;
+ private Mock<IMapper> _mapperMock;
+ private CommentService _commentService;
#region Setup
[SetUp]
public void Setup()
{
- this.UserRepositoryMock = new Mock<IUserRepository>();
- this.PostRepositoryMock = new Mock<IPostRepository>();
- this.CommentRepositoryMock = new Mock<ICommentRepository>();
- this.MapperMock = new Mock<IMapper>();
- this.CommentService = new CommentService(this.UserRepositoryMock.Object, this.PostRepositoryMock.Object, this.CommentRepositoryMock.Object, this.MapperMock.Object);
+ this._userRepositoryMock = new Mock<IUserRepository>();
+ this._postRepositoryMock = new Mock<IPostRepository>();
+ this._commentRepositoryMock = new Mock<ICommentRepository>();
+ this._mapperMock = new Mock<IMapper>();
+ this._commentService = new CommentService(this._userRepositoryMock.Object, this._postRepositoryMock.Object, this._commentRepositoryMock.Object, this._mapperMock.Object);
}
#endregion
@@ -37,24 +37,34 @@ namespace DevHive.Services.Tests
public async Task AddComment_ReturnsNonEmptyGuid_WhenEntityIsAddedSuccessfully()
{
Guid id = Guid.NewGuid();
- User creator = new User { Id = Guid.NewGuid() };
- CreateCommentServiceModel createCommentServiceModel = new CreateCommentServiceModel
+ User creator = new() { Id = Guid.NewGuid() };
+ CreateCommentServiceModel createCommentServiceModel = new()
{
Message = MESSAGE
};
- Comment comment = new Comment
+ Comment comment = new()
{
Message = MESSAGE,
Id = id,
};
- this.CommentRepositoryMock.Setup(p => p.AddAsync(It.IsAny<Comment>())).Returns(Task.FromResult(true));
- this.CommentRepositoryMock.Setup(p => p.GetCommentByIssuerAndTimeCreatedAsync(It.IsAny<Guid>(), It.IsAny<DateTime>())).Returns(Task.FromResult(comment));
- this.PostRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny<Guid>())).Returns(Task.FromResult(true));
- this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny<Guid>())).Returns(Task.FromResult(creator));
- this.MapperMock.Setup(p => p.Map<Comment>(It.IsAny<CreateCommentServiceModel>())).Returns(comment);
-
- Guid result = await this.CommentService.AddComment(createCommentServiceModel);
+ this._commentRepositoryMock
+ .Setup(p => p.AddAsync(It.IsAny<Comment>()))
+ .ReturnsAsync(true);
+ this._commentRepositoryMock
+ .Setup(p => p.GetCommentByIssuerAndTimeCreatedAsync(It.IsAny<Guid>(), It.IsAny<DateTime>()))
+ .ReturnsAsync(comment);
+ this._postRepositoryMock
+ .Setup(p => p.DoesPostExist(It.IsAny<Guid>()))
+ .ReturnsAsync(true);
+ this._userRepositoryMock
+ .Setup(p => p.GetByIdAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(creator);
+ this._mapperMock
+ .Setup(p => p.Map<Comment>(It.IsAny<CreateCommentServiceModel>()))
+ .Returns(comment);
+
+ Guid result = await this._commentService.AddComment(createCommentServiceModel);
Assert.AreEqual(id, result);
}
@@ -62,20 +72,26 @@ namespace DevHive.Services.Tests
[Test]
public async Task AddComment_ReturnsEmptyGuid_WhenEntityIsNotAddedSuccessfully()
{
- CreateCommentServiceModel createCommentServiceModel = new CreateCommentServiceModel
+ CreateCommentServiceModel createCommentServiceModel = new()
{
Message = MESSAGE
};
- Comment comment = new Comment
+ Comment comment = new()
{
Message = MESSAGE,
};
- this.CommentRepositoryMock.Setup(p => p.AddAsync(It.IsAny<Comment>())).Returns(Task.FromResult(false));
- this.PostRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny<Guid>())).Returns(Task.FromResult(true));
- this.MapperMock.Setup(p => p.Map<Comment>(It.IsAny<CreateCommentServiceModel>())).Returns(comment);
+ this._commentRepositoryMock
+ .Setup(p => p.AddAsync(It.IsAny<Comment>()))
+ .ReturnsAsync(false);
+ this._postRepositoryMock
+ .Setup(p => p.DoesPostExist(It.IsAny<Guid>()))
+ .ReturnsAsync(true);
+ this._mapperMock
+ .Setup(p => p.Map<Comment>(It.IsAny<CreateCommentServiceModel>()))
+ .Returns(comment);
- Guid result = await this.CommentService.AddComment(createCommentServiceModel);
+ Guid result = await this._commentService.AddComment(createCommentServiceModel);
Assert.IsTrue(result == Guid.Empty);
}
@@ -85,12 +101,12 @@ namespace DevHive.Services.Tests
{
const string EXCEPTION_MESSAGE = "Post does not exist!";
- CreateCommentServiceModel createCommentServiceModel = new CreateCommentServiceModel
+ CreateCommentServiceModel createCommentServiceModel = new()
{
Message = MESSAGE
};
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.CommentService.AddComment(createCommentServiceModel), "AddComment does not throw excpeion when the post does not exist");
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._commentService.AddComment(createCommentServiceModel), "AddComment does not throw excpeion when the post does not exist");
Assert.AreEqual(EXCEPTION_MESSAGE, ex.Message, "Incorecct exception message");
}
@@ -100,27 +116,33 @@ namespace DevHive.Services.Tests
[Test]
public async Task GetCommentById_ReturnsTheComment_WhenItExists()
{
- Guid creatorId = new Guid();
- User creator = new User { Id = creatorId };
- Comment comment = new Comment
+ Guid creatorId = new();
+ User creator = new() { Id = creatorId };
+ Comment comment = new()
{
Message = MESSAGE,
Creator = creator
};
- ReadCommentServiceModel commentServiceModel = new ReadCommentServiceModel
+ ReadCommentServiceModel commentServiceModel = new()
{
Message = MESSAGE
};
- User user = new User
+ User user = new()
{
Id = creatorId,
};
- this.CommentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny<Guid>())).Returns(Task.FromResult(comment));
- this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny<Guid>())).Returns(Task.FromResult(user));
- this.MapperMock.Setup(p => p.Map<ReadCommentServiceModel>(It.IsAny<Comment>())).Returns(commentServiceModel);
+ this._commentRepositoryMock
+ .Setup(p => p.GetByIdAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(comment);
+ this._userRepositoryMock
+ .Setup(p => p.GetByIdAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(user);
+ this._mapperMock
+ .Setup(p => p.Map<ReadCommentServiceModel>(It.IsAny<Comment>()))
+ .Returns(commentServiceModel);
- ReadCommentServiceModel result = await this.CommentService.GetCommentById(new Guid());
+ ReadCommentServiceModel result = await this._commentService.GetCommentById(Guid.NewGuid());
Assert.AreEqual(MESSAGE, result.Message);
}
@@ -129,17 +151,19 @@ namespace DevHive.Services.Tests
public void GetCommentById_ThorwsException_WhenTheUserDoesNotExist()
{
const string EXCEPTION_MESSAGE = "The user does not exist";
- Guid creatorId = new Guid();
- User creator = new User { Id = creatorId };
- Comment comment = new Comment
+ Guid creatorId = new();
+ User creator = new() { Id = creatorId };
+ Comment comment = new()
{
Message = MESSAGE,
Creator = creator
};
- this.CommentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny<Guid>())).Returns(Task.FromResult(comment));
+ this._commentRepositoryMock
+ .Setup(p => p.GetByIdAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(comment);
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.CommentService.GetCommentById(new Guid()), "GetCommentById does not throw exception when the user does not exist");
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._commentService.GetCommentById(Guid.NewGuid()), "GetCommentById does not throw exception when the user does not exist");
Assert.AreEqual(EXCEPTION_MESSAGE, ex.Message);
}
@@ -148,16 +172,20 @@ namespace DevHive.Services.Tests
public void GetCommentById_ThrowsException_WhenCommentDoesNotExist()
{
string exceptionMessage = "The comment does not exist";
- Guid creatorId = new Guid();
- User user = new User
+ Guid creatorId = new();
+ User user = new()
{
Id = creatorId,
};
- this.CommentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny<Guid>())).Returns(Task.FromResult<Comment>(null));
- this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny<Guid>())).Returns(Task.FromResult(user));
+ this._commentRepositoryMock
+ .Setup(p => p.GetByIdAsync(It.IsAny<Guid>()))
+ .Returns(Task.FromResult<Comment>(null));
+ this._userRepositoryMock
+ .Setup(p => p.GetByIdAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(user);
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.CommentService.GetCommentById(new Guid()));
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._commentService.GetCommentById(Guid.NewGuid()));
Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message");
}
@@ -168,23 +196,31 @@ namespace DevHive.Services.Tests
public async Task UpdateComment_ReturnsTheIdOfTheComment_WhenUpdatedSuccessfully()
{
Guid id = Guid.NewGuid();
- Comment comment = new Comment
+ Comment comment = new()
{
Id = id,
Message = MESSAGE
};
- UpdateCommentServiceModel updateCommentServiceModel = new UpdateCommentServiceModel
+ UpdateCommentServiceModel updateCommentServiceModel = new()
{
CommentId = id,
NewMessage = MESSAGE
};
- this.CommentRepositoryMock.Setup(p => p.DoesCommentExist(It.IsAny<Guid>())).Returns(Task.FromResult(true));
- this.CommentRepositoryMock.Setup(p => p.EditAsync(It.IsAny<Guid>(), It.IsAny<Comment>())).Returns(Task.FromResult(true));
- this.CommentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny<Guid>())).Returns(Task.FromResult(comment));
- this.MapperMock.Setup(p => p.Map<Comment>(It.IsAny<UpdateCommentServiceModel>())).Returns(comment);
-
- Guid result = await this.CommentService.UpdateComment(updateCommentServiceModel);
+ this._commentRepositoryMock
+ .Setup(p => p.DoesCommentExist(It.IsAny<Guid>()))
+ .ReturnsAsync(true);
+ this._commentRepositoryMock
+ .Setup(p => p.EditAsync(It.IsAny<Guid>(), It.IsAny<Comment>()))
+ .ReturnsAsync(true);
+ this._commentRepositoryMock
+ .Setup(p => p.GetByIdAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(comment);
+ this._mapperMock
+ .Setup(p => p.Map<Comment>(It.IsAny<UpdateCommentServiceModel>()))
+ .Returns(comment);
+
+ Guid result = await this._commentService.UpdateComment(updateCommentServiceModel);
Assert.AreEqual(updateCommentServiceModel.CommentId, result);
}
@@ -192,21 +228,27 @@ namespace DevHive.Services.Tests
[Test]
public async Task UpdateComment_ReturnsEmptyId_WhenTheCommentIsNotUpdatedSuccessfully()
{
- Comment comment = new Comment
+ Comment comment = new()
{
Message = MESSAGE
};
- UpdateCommentServiceModel updateCommentServiceModel = new UpdateCommentServiceModel
+ UpdateCommentServiceModel updateCommentServiceModel = new()
{
CommentId = Guid.NewGuid(),
NewMessage = MESSAGE
};
- this.CommentRepositoryMock.Setup(p => p.DoesCommentExist(It.IsAny<Guid>())).Returns(Task.FromResult(true));
- this.CommentRepositoryMock.Setup(p => p.EditAsync(It.IsAny<Guid>(), It.IsAny<Comment>())).Returns(Task.FromResult(false));
- this.MapperMock.Setup(p => p.Map<Comment>(It.IsAny<UpdateCommentServiceModel>())).Returns(comment);
+ this._commentRepositoryMock
+ .Setup(p => p.DoesCommentExist(It.IsAny<Guid>()))
+ .ReturnsAsync(true);
+ this._commentRepositoryMock
+ .Setup(p => p.EditAsync(It.IsAny<Guid>(), It.IsAny<Comment>()))
+ .ReturnsAsync(false);
+ this._mapperMock
+ .Setup(p => p.Map<Comment>(It.IsAny<UpdateCommentServiceModel>()))
+ .Returns(comment);
- Guid result = await this.CommentService.UpdateComment(updateCommentServiceModel);
+ Guid result = await this._commentService.UpdateComment(updateCommentServiceModel);
Assert.AreEqual(Guid.Empty, result);
}
@@ -215,13 +257,15 @@ namespace DevHive.Services.Tests
public void UpdateComment_ThrowsArgumentException_WhenCommentDoesNotExist()
{
string exceptionMessage = "Comment does not exist!";
- UpdateCommentServiceModel updateCommentServiceModel = new UpdateCommentServiceModel
+ UpdateCommentServiceModel updateCommentServiceModel = new()
{
};
- this.CommentRepositoryMock.Setup(p => p.DoesCommentExist(It.IsAny<Guid>())).Returns(Task.FromResult(false));
+ this._commentRepositoryMock
+ .Setup(p => p.DoesCommentExist(It.IsAny<Guid>()))
+ .ReturnsAsync(false);
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.CommentService.UpdateComment(updateCommentServiceModel));
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._commentService.UpdateComment(updateCommentServiceModel));
Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message");
}
@@ -233,14 +277,20 @@ namespace DevHive.Services.Tests
[TestCase(false)]
public async Task DeleteComment_ShouldReturnIfDeletionIsSuccessfull_WhenCommentExists(bool shouldPass)
{
- Guid id = new Guid();
- Comment comment = new Comment();
+ Guid id = new();
+ Comment comment = new();
- this.CommentRepositoryMock.Setup(p => p.DoesCommentExist(It.IsAny<Guid>())).Returns(Task.FromResult(true));
- this.CommentRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny<Guid>())).Returns(Task.FromResult(comment));
- this.CommentRepositoryMock.Setup(p => p.DeleteAsync(It.IsAny<Comment>())).Returns(Task.FromResult(shouldPass));
+ this._commentRepositoryMock
+ .Setup(p => p.DoesCommentExist(It.IsAny<Guid>()))
+ .ReturnsAsync(true);
+ this._commentRepositoryMock
+ .Setup(p => p.GetByIdAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(comment);
+ this._commentRepositoryMock
+ .Setup(p => p.DeleteAsync(It.IsAny<Comment>()))
+ .ReturnsAsync(shouldPass);
- bool result = await this.CommentService.DeleteComment(id);
+ bool result = await this._commentService.DeleteComment(id);
Assert.AreEqual(shouldPass, result);
}
@@ -249,11 +299,13 @@ namespace DevHive.Services.Tests
public void DeleteComment_ThrowsException_WhenCommentDoesNotExist()
{
string exceptionMessage = "Comment does not exist!";
- Guid id = new Guid();
+ Guid id = new();
- this.CommentRepositoryMock.Setup(p => p.DoesCommentExist(It.IsAny<Guid>())).Returns(Task.FromResult(false));
+ this._commentRepositoryMock
+ .Setup(p => p.DoesCommentExist(It.IsAny<Guid>()))
+ .ReturnsAsync(false);
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.CommentService.DeleteComment(id));
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._commentService.DeleteComment(id));
Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message");
}
diff --git a/src/Services/DevHive.Services.Tests/LanguageService.Tests.cs b/src/Services/DevHive.Services.Tests/LanguageService.Tests.cs
index 731091c..c95c38e 100644
--- a/src/Services/DevHive.Services.Tests/LanguageService.Tests.cs
+++ b/src/Services/DevHive.Services.Tests/LanguageService.Tests.cs
@@ -14,17 +14,17 @@ namespace DevHive.Services.Tests
[TestFixture]
public class LanguageServiceTests
{
- private Mock<ILanguageRepository> LanguageRepositoryMock { get; set; }
- private Mock<IMapper> MapperMock { get; set; }
- private LanguageService LanguageService { get; set; }
+ private Mock<ILanguageRepository> _languageRepositoryMock;
+ private Mock<IMapper> _mapperMock;
+ private LanguageService _languageService;
#region SetUps
[SetUp]
public void SetUp()
{
- this.LanguageRepositoryMock = new Mock<ILanguageRepository>();
- this.MapperMock = new Mock<IMapper>();
- this.LanguageService = new LanguageService(this.LanguageRepositoryMock.Object, this.MapperMock.Object);
+ this._languageRepositoryMock = new Mock<ILanguageRepository>();
+ this._mapperMock = new Mock<IMapper>();
+ this._languageService = new LanguageService(this._languageRepositoryMock.Object, this._mapperMock.Object);
}
#endregion
@@ -44,12 +44,20 @@ namespace DevHive.Services.Tests
Id = id
};
- this.LanguageRepositoryMock.Setup(p => p.DoesLanguageNameExistAsync(It.IsAny<string>())).Returns(Task.FromResult(false));
- this.LanguageRepositoryMock.Setup(p => p.AddAsync(It.IsAny<Language>())).Returns(Task.FromResult(true));
- this.LanguageRepositoryMock.Setup(p => p.GetByNameAsync(It.IsAny<string>())).Returns(Task.FromResult(language));
- this.MapperMock.Setup(p => p.Map<Language>(It.IsAny<CreateLanguageServiceModel>())).Returns(language);
-
- Guid result = await this.LanguageService.CreateLanguage(createLanguageServiceModel);
+ this._languageRepositoryMock
+ .Setup(p => p.DoesLanguageNameExistAsync(It.IsAny<string>()))
+ .ReturnsAsync(false);
+ this._languageRepositoryMock
+ .Setup(p => p.AddAsync(It.IsAny<Language>()))
+ .ReturnsAsync(true);
+ this._languageRepositoryMock
+ .Setup(p => p.GetByNameAsync(It.IsAny<string>()))
+ .ReturnsAsync(language);
+ this._mapperMock
+ .Setup(p => p.Map<Language>(It.IsAny<CreateLanguageServiceModel>()))
+ .Returns(language);
+
+ Guid result = await this._languageService.CreateLanguage(createLanguageServiceModel);
Assert.AreEqual(id, result);
}
@@ -68,11 +76,17 @@ namespace DevHive.Services.Tests
Name = languageName
};
- this.LanguageRepositoryMock.Setup(p => p.DoesLanguageNameExistAsync(It.IsAny<string>())).Returns(Task.FromResult(false));
- this.LanguageRepositoryMock.Setup(p => p.AddAsync(It.IsAny<Language>())).Returns(Task.FromResult(false));
- this.MapperMock.Setup(p => p.Map<Language>(It.IsAny<CreateLanguageServiceModel>())).Returns(language);
+ this._languageRepositoryMock
+ .Setup(p => p.DoesLanguageNameExistAsync(It.IsAny<string>()))
+ .ReturnsAsync(false);
+ this._languageRepositoryMock
+ .Setup(p => p.AddAsync(It.IsAny<Language>()))
+ .ReturnsAsync(false);
+ this._mapperMock
+ .Setup(p => p.Map<Language>(It.IsAny<CreateLanguageServiceModel>()))
+ .Returns(language);
- Guid result = await this.LanguageService.CreateLanguage(createLanguageServiceModel);
+ Guid result = await this._languageService.CreateLanguage(createLanguageServiceModel);
Assert.IsTrue(result == Guid.Empty);
@@ -93,9 +107,11 @@ namespace DevHive.Services.Tests
Name = languageName
};
- this.LanguageRepositoryMock.Setup(p => p.DoesLanguageNameExistAsync(It.IsAny<string>())).Returns(Task.FromResult(true));
+ this._languageRepositoryMock
+ .Setup(p => p.DoesLanguageNameExistAsync(It.IsAny<string>()))
+ .ReturnsAsync(true);
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.LanguageService.CreateLanguage(createLanguageServiceModel));
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._languageService.CreateLanguage(createLanguageServiceModel));
Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message");
}
@@ -105,7 +121,7 @@ namespace DevHive.Services.Tests
[Test]
public async Task GetLanguageById_ReturnsTheLanguage_WhenItExists()
{
- Guid id = new Guid();
+ Guid id = Guid.NewGuid();
string name = "Gosho Trapov";
Language language = new Language
{
@@ -116,10 +132,14 @@ namespace DevHive.Services.Tests
Name = name
};
- this.LanguageRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny<Guid>())).Returns(Task.FromResult(language));
- this.MapperMock.Setup(p => p.Map<ReadLanguageServiceModel>(It.IsAny<Language>())).Returns(readLanguageServiceModel);
+ this._languageRepositoryMock
+ .Setup(p => p.GetByIdAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(language);
+ this._mapperMock
+ .Setup(p => p.Map<ReadLanguageServiceModel>(It.IsAny<Language>()))
+ .Returns(readLanguageServiceModel);
- ReadLanguageServiceModel result = await this.LanguageService.GetLanguageById(id);
+ ReadLanguageServiceModel result = await this._languageService.GetLanguageById(id);
Assert.AreEqual(name, result.Name);
}
@@ -128,10 +148,12 @@ namespace DevHive.Services.Tests
public void GetLanguageById_ThrowsException_WhenLanguageDoesNotExist()
{
string exceptionMessage = "The language does not exist";
- Guid id = new Guid();
- this.LanguageRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny<Guid>())).Returns(Task.FromResult<Language>(null));
+ Guid id = Guid.NewGuid();
+ this._languageRepositoryMock
+ .Setup(p => p.GetByIdAsync(It.IsAny<Guid>()))
+ .Returns(Task.FromResult<Language>(null));
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.LanguageService.GetLanguageById(id));
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._languageService.GetLanguageById(id));
Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message");
}
@@ -147,10 +169,14 @@ namespace DevHive.Services.Tests
languges.Add(firstLanguage);
languges.Add(secondLanguage);
- this.LanguageRepositoryMock.Setup(p => p.GetLanguages()).Returns(new HashSet<Language>());
- this.MapperMock.Setup(p => p.Map<HashSet<ReadLanguageServiceModel>>(It.IsAny<HashSet<Language>>())).Returns(languges);
+ this._languageRepositoryMock
+ .Setup(p => p.GetLanguages())
+ .Returns(new HashSet<Language>());
+ this._mapperMock
+ .Setup(p => p.Map<HashSet<ReadLanguageServiceModel>>(It.IsAny<HashSet<Language>>()))
+ .Returns(languges);
- HashSet<ReadLanguageServiceModel> result = this.LanguageService.GetLanguages();
+ HashSet<ReadLanguageServiceModel> result = this._languageService.GetLanguages();
Assert.GreaterOrEqual(2, result.Count, "GetLanguages does not return all languages");
}
@@ -158,10 +184,14 @@ namespace DevHive.Services.Tests
[Test]
public void GetLanguages_ReturnsEmptyHashSet_IfNoLanguagesExist()
{
- this.LanguageRepositoryMock.Setup(p => p.GetLanguages()).Returns(new HashSet<Language>());
- this.MapperMock.Setup(p => p.Map<HashSet<ReadLanguageServiceModel>>(It.IsAny<HashSet<Language>>())).Returns(new HashSet<ReadLanguageServiceModel>());
+ this._languageRepositoryMock
+ .Setup(p => p.GetLanguages())
+ .Returns(new HashSet<Language>());
+ this._mapperMock
+ .Setup(p => p.Map<HashSet<ReadLanguageServiceModel>>(It.IsAny<HashSet<Language>>()))
+ .Returns(new HashSet<ReadLanguageServiceModel>());
- HashSet<ReadLanguageServiceModel> result = this.LanguageService.GetLanguages();
+ HashSet<ReadLanguageServiceModel> result = this._languageService.GetLanguages();
Assert.IsEmpty(result, "GetLanguages does not return empty string when no languages exist");
}
@@ -185,12 +215,20 @@ namespace DevHive.Services.Tests
Name = name,
};
- this.LanguageRepositoryMock.Setup(p => p.DoesLanguageExistAsync(It.IsAny<Guid>())).Returns(Task.FromResult(true));
- this.LanguageRepositoryMock.Setup(p => p.DoesLanguageNameExistAsync(It.IsAny<string>())).Returns(Task.FromResult(false));
- this.LanguageRepositoryMock.Setup(p => p.EditAsync(It.IsAny<Guid>(), It.IsAny<Language>())).Returns(Task.FromResult(shouldPass));
- this.MapperMock.Setup(p => p.Map<Language>(It.IsAny<UpdateLanguageServiceModel>())).Returns(language);
-
- bool result = await this.LanguageService.UpdateLanguage(updateLanguageServiceModel);
+ this._languageRepositoryMock
+ .Setup(p => p.DoesLanguageExistAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(true);
+ this._languageRepositoryMock
+ .Setup(p => p.DoesLanguageNameExistAsync(It.IsAny<string>()))
+ .ReturnsAsync(false);
+ this._languageRepositoryMock
+ .Setup(p => p.EditAsync(It.IsAny<Guid>(), It.IsAny<Language>()))
+ .ReturnsAsync(shouldPass);
+ this._mapperMock
+ .Setup(p => p.Map<Language>(It.IsAny<UpdateLanguageServiceModel>()))
+ .Returns(language);
+
+ bool result = await this._languageService.UpdateLanguage(updateLanguageServiceModel);
Assert.AreEqual(shouldPass, result);
}
@@ -203,9 +241,11 @@ namespace DevHive.Services.Tests
{
};
- this.LanguageRepositoryMock.Setup(p => p.DoesLanguageExistAsync(It.IsAny<Guid>())).Returns(Task.FromResult(false));
+ this._languageRepositoryMock
+ .Setup(p => p.DoesLanguageExistAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(false);
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.LanguageService.UpdateLanguage(updateTechnologyServiceModel));
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._languageService.UpdateLanguage(updateTechnologyServiceModel));
Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message");
}
@@ -218,10 +258,14 @@ namespace DevHive.Services.Tests
{
};
- this.LanguageRepositoryMock.Setup(p => p.DoesLanguageExistAsync(It.IsAny<Guid>())).Returns(Task.FromResult(true));
- this.LanguageRepositoryMock.Setup(p => p.DoesLanguageNameExistAsync(It.IsAny<string>())).Returns(Task.FromResult(true));
+ this._languageRepositoryMock
+ .Setup(p => p.DoesLanguageExistAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(true);
+ this._languageRepositoryMock
+ .Setup(p => p.DoesLanguageNameExistAsync(It.IsAny<string>()))
+ .ReturnsAsync(true);
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.LanguageService.UpdateLanguage(updateTechnologyServiceModel));
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._languageService.UpdateLanguage(updateTechnologyServiceModel));
Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message");
}
@@ -233,14 +277,20 @@ namespace DevHive.Services.Tests
[TestCase(false)]
public async Task DeleteLanguage_ShouldReturnIfDeletionIsSuccessfull_WhenLanguageExists(bool shouldPass)
{
- Guid id = new Guid();
+ Guid id = Guid.NewGuid();
Language language = new Language();
- this.LanguageRepositoryMock.Setup(p => p.DoesLanguageExistAsync(It.IsAny<Guid>())).Returns(Task.FromResult(true));
- this.LanguageRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny<Guid>())).Returns(Task.FromResult(language));
- this.LanguageRepositoryMock.Setup(p => p.DeleteAsync(It.IsAny<Language>())).Returns(Task.FromResult(shouldPass));
+ this._languageRepositoryMock
+ .Setup(p => p.DoesLanguageExistAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(true);
+ this._languageRepositoryMock
+ .Setup(p => p.GetByIdAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(language);
+ this._languageRepositoryMock
+ .Setup(p => p.DeleteAsync(It.IsAny<Language>()))
+ .ReturnsAsync(shouldPass);
- bool result = await this.LanguageService.DeleteLanguage(id);
+ bool result = await this._languageService.DeleteLanguage(id);
Assert.AreEqual(shouldPass, result);
}
@@ -249,11 +299,13 @@ namespace DevHive.Services.Tests
public void DeleteLanguage_ThrowsException_WhenLanguageDoesNotExist()
{
string exceptionMessage = "Language does not exist!";
- Guid id = new Guid();
+ Guid id = Guid.NewGuid();
- this.LanguageRepositoryMock.Setup(p => p.DoesLanguageExistAsync(It.IsAny<Guid>())).Returns(Task.FromResult(false));
+ this._languageRepositoryMock
+ .Setup(p => p.DoesLanguageExistAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(false);
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.LanguageService.DeleteLanguage(id));
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._languageService.DeleteLanguage(id));
Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message");
}
diff --git a/src/Services/DevHive.Services.Tests/PostService.Tests.cs b/src/Services/DevHive.Services.Tests/PostService.Tests.cs
index 137b8d1..058485e 100644
--- a/src/Services/DevHive.Services.Tests/PostService.Tests.cs
+++ b/src/Services/DevHive.Services.Tests/PostService.Tests.cs
@@ -17,23 +17,23 @@ namespace DevHive.Services.Tests
public class PostServiceTests
{
private const string MESSAGE = "Gosho Trapov";
- private Mock<ICloudService> CloudServiceMock { get; set; }
- private Mock<IPostRepository> PostRepositoryMock { get; set; }
- private Mock<ICommentRepository> CommentRepositoryMock { get; set; }
- private Mock<IUserRepository> UserRepositoryMock { get; set; }
- private Mock<IMapper> MapperMock { get; set; }
- private PostService PostService { get; set; }
+ private Mock<ICloudService> _cloudServiceMock;
+ private Mock<IPostRepository> _postRepositoryMock;
+ private Mock<ICommentRepository> _commentRepositoryMock;
+ private Mock<IUserRepository> _userRepositoryMock;
+ private Mock<IMapper> _mapperMock;
+ private PostService _postService;
#region SetUps
[SetUp]
public void Setup()
{
- this.PostRepositoryMock = new Mock<IPostRepository>();
- this.CloudServiceMock = new Mock<ICloudService>();
- this.UserRepositoryMock = new Mock<IUserRepository>();
- this.CommentRepositoryMock = new Mock<ICommentRepository>();
- this.MapperMock = new Mock<IMapper>();
- this.PostService = new PostService(this.CloudServiceMock.Object, this.UserRepositoryMock.Object, this.PostRepositoryMock.Object, this.CommentRepositoryMock.Object, this.MapperMock.Object);
+ this._postRepositoryMock = new Mock<IPostRepository>();
+ this._cloudServiceMock = new Mock<ICloudService>();
+ this._userRepositoryMock = new Mock<IUserRepository>();
+ this._commentRepositoryMock = new Mock<ICommentRepository>();
+ this._mapperMock = new Mock<IMapper>();
+ this._postService = new PostService(this._cloudServiceMock.Object, this._userRepositoryMock.Object, this._postRepositoryMock.Object, this._commentRepositoryMock.Object, this._mapperMock.Object);
}
#endregion
@@ -53,13 +53,23 @@ namespace DevHive.Services.Tests
Id = postId,
};
- this.PostRepositoryMock.Setup(p => p.AddAsync(It.IsAny<Post>())).Returns(Task.FromResult(true));
- this.PostRepositoryMock.Setup(p => p.GetPostByCreatorAndTimeCreatedAsync(It.IsAny<Guid>(), It.IsAny<DateTime>())).Returns(Task.FromResult(post));
- this.UserRepositoryMock.Setup(p => p.DoesUserExistAsync(It.IsAny<Guid>())).Returns(Task.FromResult(true));
- this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny<Guid>())).Returns(Task.FromResult(creator));
- this.MapperMock.Setup(p => p.Map<Post>(It.IsAny<CreatePostServiceModel>())).Returns(post);
-
- Guid result = await this.PostService.CreatePost(createPostServiceModel);
+ this._postRepositoryMock
+ .Setup(p => p.AddAsync(It.IsAny<Post>()))
+ .ReturnsAsync(true);
+ this._postRepositoryMock
+ .Setup(p => p.GetPostByCreatorAndTimeCreatedAsync(It.IsAny<Guid>(), It.IsAny<DateTime>()))
+ .ReturnsAsync(post);
+ this._userRepositoryMock
+ .Setup(p => p.DoesUserExistAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(true);
+ this._userRepositoryMock
+ .Setup(p => p.GetByIdAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(creator);
+ this._mapperMock
+ .Setup(p => p.Map<Post>(It.IsAny<CreatePostServiceModel>()))
+ .Returns(post);
+
+ Guid result = await this._postService.CreatePost(createPostServiceModel);
Assert.AreEqual(postId, result, "CreatePost does not return the correct id");
}
@@ -76,11 +86,17 @@ namespace DevHive.Services.Tests
Message = MESSAGE,
};
- this.PostRepositoryMock.Setup(p => p.AddAsync(It.IsAny<Post>())).Returns(Task.FromResult(false));
- this.UserRepositoryMock.Setup(p => p.DoesUserExistAsync(It.IsAny<Guid>())).Returns(Task.FromResult(true));
- this.MapperMock.Setup(p => p.Map<Post>(It.IsAny<CreatePostServiceModel>())).Returns(post);
+ this._postRepositoryMock
+ .Setup(p => p.AddAsync(It.IsAny<Post>()))
+ .ReturnsAsync(false);
+ this._userRepositoryMock
+ .Setup(p => p.DoesUserExistAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(true);
+ this._mapperMock
+ .Setup(p => p.Map<Post>(It.IsAny<CreatePostServiceModel>()))
+ .Returns(post);
- Guid result = await this.PostService.CreatePost(createPostServiceModel);
+ Guid result = await this._postService.CreatePost(createPostServiceModel);
Assert.AreEqual(Guid.Empty, result, "CreatePost does not return empty id");
}
@@ -92,12 +108,8 @@ namespace DevHive.Services.Tests
CreatePostServiceModel createPostServiceModel = new CreatePostServiceModel
{
};
- Post post = new Post
- {
- Message = MESSAGE,
- };
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.PostService.CreatePost(createPostServiceModel), "CreatePost does not throw excpeion when the user does not exist");
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._postService.CreatePost(createPostServiceModel), "CreatePost does not throw excpeion when the user does not exist");
Assert.AreEqual(EXCEPTION_MESSAGE, ex.Message, "Excapetion message is not correct");
}
@@ -107,7 +119,7 @@ namespace DevHive.Services.Tests
[Test]
public async Task GetPostById_ReturnsThePost_WhenItExists()
{
- Guid creatorId = new Guid();
+ Guid creatorId = Guid.NewGuid();
User creator = new User { Id = creatorId };
Post post = new Post
{
@@ -123,11 +135,17 @@ namespace DevHive.Services.Tests
Id = creatorId,
};
- this.PostRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny<Guid>())).Returns(Task.FromResult(post));
- this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny<Guid>())).Returns(Task.FromResult(user));
- this.MapperMock.Setup(p => p.Map<ReadPostServiceModel>(It.IsAny<Post>())).Returns(readPostServiceModel);
+ this._postRepositoryMock
+ .Setup(p => p.GetByIdAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(post);
+ this._userRepositoryMock
+ .Setup(p => p.GetByIdAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(user);
+ this._mapperMock
+ .Setup(p => p.Map<ReadPostServiceModel>(It.IsAny<Post>()))
+ .Returns(readPostServiceModel);
- ReadPostServiceModel result = await this.PostService.GetPostById(new Guid());
+ ReadPostServiceModel result = await this._postService.GetPostById(Guid.NewGuid());
Assert.AreEqual(MESSAGE, result.Message);
}
@@ -136,7 +154,7 @@ namespace DevHive.Services.Tests
public void GetPostById_ThorwsException_WhenTheUserDoesNotExist()
{
const string EXCEPTION_MESSAGE = "The user does not exist!";
- Guid creatorId = new Guid();
+ Guid creatorId = Guid.NewGuid();
User creator = new User { Id = creatorId };
Post post = new Post
{
@@ -144,9 +162,11 @@ namespace DevHive.Services.Tests
Creator = creator
};
- this.PostRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny<Guid>())).Returns(Task.FromResult(post));
+ this._postRepositoryMock
+ .Setup(p => p.GetByIdAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(post);
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.PostService.GetPostById(new Guid()), "GetPostById does not throw exception when the user does not exist");
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._postService.GetPostById(Guid.NewGuid()), "GetPostById does not throw exception when the user does not exist");
Assert.AreEqual(EXCEPTION_MESSAGE, ex.Message);
}
@@ -155,16 +175,20 @@ namespace DevHive.Services.Tests
public void GetPostById_ThrowsException_WhenCommentDoesNotExist()
{
string exceptionMessage = "The post does not exist!";
- Guid creatorId = new Guid();
+ Guid creatorId = Guid.NewGuid();
User user = new User
{
Id = creatorId,
};
- this.PostRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny<Guid>())).Returns(Task.FromResult<Post>(null));
- this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny<Guid>())).Returns(Task.FromResult(user));
+ this._postRepositoryMock
+ .Setup(p => p.GetByIdAsync(It.IsAny<Guid>()))
+ .Returns(Task.FromResult<Post>(null));
+ this._userRepositoryMock
+ .Setup(p => p.GetByIdAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(user);
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.PostService.GetPostById(new Guid()));
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._postService.GetPostById(Guid.NewGuid()));
Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message");
}
@@ -187,12 +211,20 @@ namespace DevHive.Services.Tests
Files = new List<IFormFile>()
};
- this.PostRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny<Guid>())).Returns(Task.FromResult(true));
- this.PostRepositoryMock.Setup(p => p.EditAsync(It.IsAny<Guid>(), It.IsAny<Post>())).Returns(Task.FromResult(true));
- this.PostRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny<Guid>())).Returns(Task.FromResult(post));
- this.MapperMock.Setup(p => p.Map<Post>(It.IsAny<UpdatePostServiceModel>())).Returns(post);
-
- Guid result = await this.PostService.UpdatePost(updatePostServiceModel);
+ this._postRepositoryMock
+ .Setup(p => p.DoesPostExist(It.IsAny<Guid>()))
+ .ReturnsAsync(true);
+ this._postRepositoryMock
+ .Setup(p => p.EditAsync(It.IsAny<Guid>(), It.IsAny<Post>()))
+ .ReturnsAsync(true);
+ this._postRepositoryMock
+ .Setup(p => p.GetByIdAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(post);
+ this._mapperMock
+ .Setup(p => p.Map<Post>(It.IsAny<UpdatePostServiceModel>()))
+ .Returns(post);
+
+ Guid result = await this._postService.UpdatePost(updatePostServiceModel);
Assert.AreEqual(updatePostServiceModel.PostId, result);
}
@@ -211,11 +243,17 @@ namespace DevHive.Services.Tests
Files = new List<IFormFile>()
};
- this.PostRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny<Guid>())).Returns(Task.FromResult(true));
- this.PostRepositoryMock.Setup(p => p.EditAsync(It.IsAny<Guid>(), It.IsAny<Post>())).Returns(Task.FromResult(false));
- this.MapperMock.Setup(p => p.Map<Post>(It.IsAny<UpdatePostServiceModel>())).Returns(post);
+ this._postRepositoryMock
+ .Setup(p => p.DoesPostExist(It.IsAny<Guid>()))
+ .ReturnsAsync(true);
+ this._postRepositoryMock
+ .Setup(p => p.EditAsync(It.IsAny<Guid>(), It.IsAny<Post>()))
+ .ReturnsAsync(false);
+ this._mapperMock
+ .Setup(p => p.Map<Post>(It.IsAny<UpdatePostServiceModel>()))
+ .Returns(post);
- Guid result = await this.PostService.UpdatePost(updatePostServiceModel);
+ Guid result = await this._postService.UpdatePost(updatePostServiceModel);
Assert.AreEqual(Guid.Empty, result);
}
@@ -228,9 +266,11 @@ namespace DevHive.Services.Tests
{
};
- this.PostRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny<Guid>())).Returns(Task.FromResult(false));
+ this._postRepositoryMock
+ .Setup(p => p.DoesPostExist(It.IsAny<Guid>()))
+ .ReturnsAsync(false);
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.PostService.UpdatePost(updatePostServiceModel));
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._postService.UpdatePost(updatePostServiceModel));
Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message");
}
@@ -242,14 +282,20 @@ namespace DevHive.Services.Tests
[TestCase(false)]
public async Task Deletepost_ShouldReturnIfDeletionIsSuccessfull_WhenPostExists(bool shouldPass)
{
- Guid id = new Guid();
+ Guid id = Guid.NewGuid();
Post post = new Post();
- this.PostRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny<Guid>())).Returns(Task.FromResult(true));
- this.PostRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny<Guid>())).Returns(Task.FromResult(post));
- this.PostRepositoryMock.Setup(p => p.DeleteAsync(It.IsAny<Post>())).Returns(Task.FromResult(shouldPass));
+ this._postRepositoryMock
+ .Setup(p => p.DoesPostExist(It.IsAny<Guid>()))
+ .ReturnsAsync(true);
+ this._postRepositoryMock
+ .Setup(p => p.GetByIdAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(post);
+ this._postRepositoryMock
+ .Setup(p => p.DeleteAsync(It.IsAny<Post>()))
+ .ReturnsAsync(shouldPass);
- bool result = await this.PostService.DeletePost(id);
+ bool result = await this._postService.DeletePost(id);
Assert.AreEqual(shouldPass, result);
}
@@ -258,11 +304,13 @@ namespace DevHive.Services.Tests
public void DeletePost_ThrowsException_WhenPostDoesNotExist()
{
string exceptionMessage = "Post does not exist!";
- Guid id = new Guid();
+ Guid id = Guid.NewGuid();
- this.PostRepositoryMock.Setup(p => p.DoesPostExist(It.IsAny<Guid>())).Returns(Task.FromResult(false));
+ this._postRepositoryMock
+ .Setup(p => p.DoesPostExist(It.IsAny<Guid>()))
+ .ReturnsAsync(false);
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.PostService.DeletePost(id));
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._postService.DeletePost(id));
Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message");
}
diff --git a/src/Services/DevHive.Services.Tests/RoleService.Tests.cs b/src/Services/DevHive.Services.Tests/RoleService.Tests.cs
index 29d5df2..83dabf9 100644
--- a/src/Services/DevHive.Services.Tests/RoleService.Tests.cs
+++ b/src/Services/DevHive.Services.Tests/RoleService.Tests.cs
@@ -13,17 +13,17 @@ namespace DevHive.Services.Tests
[TestFixture]
public class RoleServiceTests
{
- private Mock<IRoleRepository> RoleRepositoryMock { get; set; }
- private Mock<IMapper> MapperMock { get; set; }
- private RoleService RoleService { get; set; }
+ private Mock<IRoleRepository> _roleRepositoryMock;
+ private Mock<IMapper> _mapperMock;
+ private RoleService _roleService;
#region SetUps
[SetUp]
public void Setup()
{
- this.RoleRepositoryMock = new Mock<IRoleRepository>();
- this.MapperMock = new Mock<IMapper>();
- this.RoleService = new RoleService(this.RoleRepositoryMock.Object, this.MapperMock.Object);
+ this._roleRepositoryMock = new Mock<IRoleRepository>();
+ this._mapperMock = new Mock<IMapper>();
+ this._roleService = new RoleService(this._roleRepositoryMock.Object, this._mapperMock.Object);
}
#endregion
@@ -43,12 +43,20 @@ namespace DevHive.Services.Tests
Id = id
};
- this.RoleRepositoryMock.Setup(p => p.DoesNameExist(It.IsAny<string>())).Returns(Task.FromResult(false));
- this.RoleRepositoryMock.Setup(p => p.AddAsync(It.IsAny<Role>())).Returns(Task.FromResult(true));
- this.RoleRepositoryMock.Setup(p => p.GetByNameAsync(It.IsAny<string>())).Returns(Task.FromResult(role));
- this.MapperMock.Setup(p => p.Map<Role>(It.IsAny<CreateRoleServiceModel>())).Returns(role);
-
- Guid result = await this.RoleService.CreateRole(createRoleServiceModel);
+ this._roleRepositoryMock
+ .Setup(p => p.DoesNameExist(It.IsAny<string>()))
+ .ReturnsAsync(false);
+ this._roleRepositoryMock
+ .Setup(p => p.AddAsync(It.IsAny<Role>()))
+ .ReturnsAsync(true);
+ this._roleRepositoryMock
+ .Setup(p => p.GetByNameAsync(It.IsAny<string>()))
+ .ReturnsAsync(role);
+ this._mapperMock
+ .Setup(p => p.Map<Role>(It.IsAny<CreateRoleServiceModel>()))
+ .Returns(role);
+
+ Guid result = await this._roleService.CreateRole(createRoleServiceModel);
Assert.AreEqual(id, result);
}
@@ -67,11 +75,17 @@ namespace DevHive.Services.Tests
Name = roleName
};
- this.RoleRepositoryMock.Setup(p => p.DoesNameExist(It.IsAny<string>())).Returns(Task.FromResult(false));
- this.RoleRepositoryMock.Setup(p => p.AddAsync(It.IsAny<Role>())).Returns(Task.FromResult(false));
- this.MapperMock.Setup(p => p.Map<Role>(It.IsAny<CreateRoleServiceModel>())).Returns(role);
+ this._roleRepositoryMock
+ .Setup(p => p.DoesNameExist(It.IsAny<string>()))
+ .ReturnsAsync(false);
+ this._roleRepositoryMock
+ .Setup(p => p.AddAsync(It.IsAny<Role>()))
+ .ReturnsAsync(false);
+ this._mapperMock
+ .Setup(p => p.Map<Role>(It.IsAny<CreateRoleServiceModel>()))
+ .Returns(role);
- Guid result = await this.RoleService.CreateRole(createRoleServiceModel);
+ Guid result = await this._roleService.CreateRole(createRoleServiceModel);
Assert.IsTrue(result == Guid.Empty);
}
@@ -86,14 +100,12 @@ namespace DevHive.Services.Tests
{
Name = roleName
};
- Role role = new Role
- {
- Name = roleName
- };
- this.RoleRepositoryMock.Setup(p => p.DoesNameExist(It.IsAny<string>())).Returns(Task.FromResult(true));
+ this._roleRepositoryMock
+ .Setup(p => p.DoesNameExist(It.IsAny<string>()))
+ .ReturnsAsync(true);
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.RoleService.CreateRole(createRoleServiceModel));
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._roleService.CreateRole(createRoleServiceModel));
Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message");
}
@@ -103,7 +115,7 @@ namespace DevHive.Services.Tests
[Test]
public async Task GetRoleById_ReturnsTheRole_WhenItExists()
{
- Guid id = new Guid();
+ Guid id = Guid.NewGuid();
string name = "Gosho Trapov";
Role role = new Role
{
@@ -114,10 +126,14 @@ namespace DevHive.Services.Tests
Name = name
};
- this.RoleRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny<Guid>())).Returns(Task.FromResult(role));
- this.MapperMock.Setup(p => p.Map<RoleServiceModel>(It.IsAny<Role>())).Returns(roleServiceModel);
+ this._roleRepositoryMock
+ .Setup(p => p.GetByIdAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(role);
+ this._mapperMock
+ .Setup(p => p.Map<RoleServiceModel>(It.IsAny<Role>()))
+ .Returns(roleServiceModel);
- RoleServiceModel result = await this.RoleService.GetRoleById(id);
+ RoleServiceModel result = await this._roleService.GetRoleById(id);
Assert.AreEqual(name, result.Name);
}
@@ -126,10 +142,12 @@ namespace DevHive.Services.Tests
public void GetRoleById_ThrowsException_WhenRoleDoesNotExist()
{
string exceptionMessage = "Role does not exist!";
- Guid id = new Guid();
- this.RoleRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny<Guid>())).Returns(Task.FromResult<Role>(null));
+ Guid id = Guid.NewGuid();
+ this._roleRepositoryMock
+ .Setup(p => p.GetByIdAsync(It.IsAny<Guid>()))
+ .Returns(Task.FromResult<Role>(null));
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.RoleService.GetRoleById(id));
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._roleService.GetRoleById(id));
Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message");
}
@@ -153,12 +171,20 @@ namespace DevHive.Services.Tests
Name = name,
};
- this.RoleRepositoryMock.Setup(p => p.DoesRoleExist(It.IsAny<Guid>())).Returns(Task.FromResult(true));
- this.RoleRepositoryMock.Setup(p => p.DoesNameExist(It.IsAny<string>())).Returns(Task.FromResult(false));
- this.RoleRepositoryMock.Setup(p => p.EditAsync(It.IsAny<Guid>(), It.IsAny<Role>())).Returns(Task.FromResult(shouldPass));
- this.MapperMock.Setup(p => p.Map<Role>(It.IsAny<UpdateRoleServiceModel>())).Returns(role);
-
- bool result = await this.RoleService.UpdateRole(updateRoleServiceModel);
+ this._roleRepositoryMock
+ .Setup(p => p.DoesRoleExist(It.IsAny<Guid>()))
+ .ReturnsAsync(true);
+ this._roleRepositoryMock
+ .Setup(p => p.DoesNameExist(It.IsAny<string>()))
+ .ReturnsAsync(false);
+ this._roleRepositoryMock
+ .Setup(p => p.EditAsync(It.IsAny<Guid>(), It.IsAny<Role>()))
+ .ReturnsAsync(shouldPass);
+ this._mapperMock
+ .Setup(p => p.Map<Role>(It.IsAny<UpdateRoleServiceModel>()))
+ .Returns(role);
+
+ bool result = await this._roleService.UpdateRole(updateRoleServiceModel);
Assert.AreEqual(shouldPass, result);
}
@@ -171,9 +197,11 @@ namespace DevHive.Services.Tests
{
};
- this.RoleRepositoryMock.Setup(p => p.DoesRoleExist(It.IsAny<Guid>())).Returns(Task.FromResult(false));
+ this._roleRepositoryMock
+ .Setup(p => p.DoesRoleExist(It.IsAny<Guid>()))
+ .ReturnsAsync(false);
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.RoleService.UpdateRole(updateRoleServiceModel));
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._roleService.UpdateRole(updateRoleServiceModel));
Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message");
}
@@ -186,10 +214,14 @@ namespace DevHive.Services.Tests
{
};
- this.RoleRepositoryMock.Setup(p => p.DoesRoleExist(It.IsAny<Guid>())).Returns(Task.FromResult(true));
- this.RoleRepositoryMock.Setup(p => p.DoesNameExist(It.IsAny<string>())).Returns(Task.FromResult(true));
+ this._roleRepositoryMock
+ .Setup(p => p.DoesRoleExist(It.IsAny<Guid>()))
+ .ReturnsAsync(true);
+ this._roleRepositoryMock
+ .Setup(p => p.DoesNameExist(It.IsAny<string>()))
+ .ReturnsAsync(true);
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.RoleService.UpdateRole(updateRoleServiceModel));
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._roleService.UpdateRole(updateRoleServiceModel));
Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message");
}
@@ -201,14 +233,20 @@ namespace DevHive.Services.Tests
[TestCase(false)]
public async Task DeleteRole_ShouldReturnIfDeletionIsSuccessfull_WhenRoleExists(bool shouldPass)
{
- Guid id = new Guid();
+ Guid id = Guid.NewGuid();
Role role = new Role();
- this.RoleRepositoryMock.Setup(p => p.DoesRoleExist(It.IsAny<Guid>())).Returns(Task.FromResult(true));
- this.RoleRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny<Guid>())).Returns(Task.FromResult(role));
- this.RoleRepositoryMock.Setup(p => p.DeleteAsync(It.IsAny<Role>())).Returns(Task.FromResult(shouldPass));
+ this._roleRepositoryMock
+ .Setup(p => p.DoesRoleExist(It.IsAny<Guid>()))
+ .ReturnsAsync(true);
+ this._roleRepositoryMock
+ .Setup(p => p.GetByIdAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(role);
+ this._roleRepositoryMock
+ .Setup(p => p.DeleteAsync(It.IsAny<Role>()))
+ .ReturnsAsync(shouldPass);
- bool result = await this.RoleService.DeleteRole(id);
+ bool result = await this._roleService.DeleteRole(id);
Assert.AreEqual(shouldPass, result);
}
@@ -217,11 +255,13 @@ namespace DevHive.Services.Tests
public void DeleteRole_ThrowsException_WhenRoleDoesNotExist()
{
string exceptionMessage = "Role does not exist!";
- Guid id = new Guid();
+ Guid id = Guid.NewGuid();
- this.RoleRepositoryMock.Setup(p => p.DoesRoleExist(It.IsAny<Guid>())).Returns(Task.FromResult(false));
+ this._roleRepositoryMock
+ .Setup(p => p.DoesRoleExist(It.IsAny<Guid>()))
+ .ReturnsAsync(false);
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.RoleService.DeleteRole(id));
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._roleService.DeleteRole(id));
Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message");
}
diff --git a/src/Services/DevHive.Services.Tests/TechnologyServices.Tests.cs b/src/Services/DevHive.Services.Tests/TechnologyServices.Tests.cs
index a43d4b9..f9c599c 100644
--- a/src/Services/DevHive.Services.Tests/TechnologyServices.Tests.cs
+++ b/src/Services/DevHive.Services.Tests/TechnologyServices.Tests.cs
@@ -14,17 +14,17 @@ namespace DevHive.Services.Tests
[TestFixture]
public class TechnologyServicesTests
{
- private Mock<ITechnologyRepository> TechnologyRepositoryMock { get; set; }
- private Mock<IMapper> MapperMock { get; set; }
- private TechnologyService TechnologyService { get; set; }
+ private Mock<ITechnologyRepository> _technologyRepositoryMock;
+ private Mock<IMapper> _mapperMock;
+ private TechnologyService _technologyService;
#region SetUps
[SetUp]
public void Setup()
{
- this.TechnologyRepositoryMock = new Mock<ITechnologyRepository>();
- this.MapperMock = new Mock<IMapper>();
- this.TechnologyService = new TechnologyService(this.TechnologyRepositoryMock.Object, this.MapperMock.Object);
+ this._technologyRepositoryMock = new Mock<ITechnologyRepository>();
+ this._mapperMock = new Mock<IMapper>();
+ this._technologyService = new TechnologyService(this._technologyRepositoryMock.Object, this._mapperMock.Object);
}
#endregion
@@ -44,12 +44,20 @@ namespace DevHive.Services.Tests
Id = id
};
- this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny<string>())).Returns(Task.FromResult(false));
- this.TechnologyRepositoryMock.Setup(p => p.AddAsync(It.IsAny<Technology>())).Returns(Task.FromResult(true));
- this.TechnologyRepositoryMock.Setup(p => p.GetByNameAsync(It.IsAny<string>())).Returns(Task.FromResult(technology));
- this.MapperMock.Setup(p => p.Map<Technology>(It.IsAny<CreateTechnologyServiceModel>())).Returns(technology);
-
- Guid result = await this.TechnologyService.CreateTechnology(createTechnologyServiceModel);
+ this._technologyRepositoryMock
+ .Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny<string>()))
+ .ReturnsAsync(false);
+ this._technologyRepositoryMock
+ .Setup(p => p.AddAsync(It.IsAny<Technology>()))
+ .ReturnsAsync(true);
+ this._technologyRepositoryMock
+ .Setup(p => p.GetByNameAsync(It.IsAny<string>()))
+ .ReturnsAsync(technology);
+ this._mapperMock
+ .Setup(p => p.Map<Technology>(It.IsAny<CreateTechnologyServiceModel>()))
+ .Returns(technology);
+
+ Guid result = await this._technologyService.CreateTechnology(createTechnologyServiceModel);
Assert.AreEqual(id, result);
}
@@ -68,11 +76,17 @@ namespace DevHive.Services.Tests
Name = technologyName
};
- this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny<string>())).Returns(Task.FromResult(false));
- this.TechnologyRepositoryMock.Setup(p => p.AddAsync(It.IsAny<Technology>())).Returns(Task.FromResult(false));
- this.MapperMock.Setup(p => p.Map<Technology>(It.IsAny<CreateTechnologyServiceModel>())).Returns(technology);
+ this._technologyRepositoryMock
+ .Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny<string>()))
+ .ReturnsAsync(false);
+ this._technologyRepositoryMock
+ .Setup(p => p.AddAsync(It.IsAny<Technology>()))
+ .ReturnsAsync(false);
+ this._mapperMock
+ .Setup(p => p.Map<Technology>(It.IsAny<CreateTechnologyServiceModel>()))
+ .Returns(technology);
- Guid result = await this.TechnologyService.CreateTechnology(createTechnologyServiceModel);
+ Guid result = await this._technologyService.CreateTechnology(createTechnologyServiceModel);
Assert.IsTrue(result == Guid.Empty);
}
@@ -87,14 +101,12 @@ namespace DevHive.Services.Tests
{
Name = technologyName
};
- Technology technology = new()
- {
- Name = technologyName
- };
- this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny<string>())).Returns(Task.FromResult(true));
+ this._technologyRepositoryMock
+ .Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny<string>()))
+ .ReturnsAsync(true);
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.TechnologyService.CreateTechnology(createTechnologyServiceModel));
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._technologyService.CreateTechnology(createTechnologyServiceModel));
Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message");
}
@@ -104,7 +116,7 @@ namespace DevHive.Services.Tests
[Test]
public async Task GetTechnologyById_ReturnsTheTechnology_WhenItExists()
{
- Guid id = new Guid();
+ Guid id = Guid.NewGuid();
string name = "Gosho Trapov";
Technology technology = new()
{
@@ -115,10 +127,14 @@ namespace DevHive.Services.Tests
Name = name
};
- this.TechnologyRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny<Guid>())).Returns(Task.FromResult(technology));
- this.MapperMock.Setup(p => p.Map<ReadTechnologyServiceModel>(It.IsAny<Technology>())).Returns(readTechnologyServiceModel);
+ this._technologyRepositoryMock
+ .Setup(p => p.GetByIdAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(technology);
+ this._mapperMock
+ .Setup(p => p.Map<ReadTechnologyServiceModel>(It.IsAny<Technology>()))
+ .Returns(readTechnologyServiceModel);
- ReadTechnologyServiceModel result = await this.TechnologyService.GetTechnologyById(id);
+ ReadTechnologyServiceModel result = await this._technologyService.GetTechnologyById(id);
Assert.AreEqual(name, result.Name);
}
@@ -127,10 +143,12 @@ namespace DevHive.Services.Tests
public void GetTechnologyById_ThrowsException_WhenTechnologyDoesNotExist()
{
string exceptionMessage = "The technology does not exist";
- Guid id = new Guid();
- this.TechnologyRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny<Guid>())).Returns(Task.FromResult<Technology>(null));
+ Guid id = Guid.NewGuid();
+ this._technologyRepositoryMock
+ .Setup(p => p.GetByIdAsync(It.IsAny<Guid>()))
+ .Returns(Task.FromResult<Technology>(null));
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.TechnologyService.GetTechnologyById(id));
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._technologyService.GetTechnologyById(id));
Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message");
}
@@ -146,10 +164,14 @@ namespace DevHive.Services.Tests
technologies.Add(firstTechnology);
technologies.Add(secondTechnology);
- this.TechnologyRepositoryMock.Setup(p => p.GetTechnologies()).Returns(new HashSet<Technology>());
- this.MapperMock.Setup(p => p.Map<HashSet<ReadTechnologyServiceModel>>(It.IsAny<HashSet<Technology>>())).Returns(technologies);
+ this._technologyRepositoryMock
+ .Setup(p => p.GetTechnologies())
+ .Returns(new HashSet<Technology>());
+ this._mapperMock
+ .Setup(p => p.Map<HashSet<ReadTechnologyServiceModel>>(It.IsAny<HashSet<Technology>>()))
+ .Returns(technologies);
- HashSet<ReadTechnologyServiceModel> result = this.TechnologyService.GetTechnologies();
+ HashSet<ReadTechnologyServiceModel> result = this._technologyService.GetTechnologies();
Assert.GreaterOrEqual(2, result.Count, "GetTechnologies does not return all technologies");
}
@@ -157,10 +179,14 @@ namespace DevHive.Services.Tests
[Test]
public void GetLanguages_ReturnsEmptyHashSet_IfNoLanguagesExist()
{
- this.TechnologyRepositoryMock.Setup(p => p.GetTechnologies()).Returns(new HashSet<Technology>());
- this.MapperMock.Setup(p => p.Map<HashSet<ReadTechnologyServiceModel>>(It.IsAny<HashSet<Technology>>())).Returns(new HashSet<ReadTechnologyServiceModel>());
+ this._technologyRepositoryMock
+ .Setup(p => p.GetTechnologies())
+ .Returns(new HashSet<Technology>());
+ this._mapperMock
+ .Setup(p => p.Map<HashSet<ReadTechnologyServiceModel>>(It.IsAny<HashSet<Technology>>()))
+ .Returns(new HashSet<ReadTechnologyServiceModel>());
- HashSet<ReadTechnologyServiceModel> result = this.TechnologyService.GetTechnologies();
+ HashSet<ReadTechnologyServiceModel> result = this._technologyService.GetTechnologies();
Assert.IsEmpty(result, "GetTechnologies does not return empty string when no technologies exist");
}
@@ -184,12 +210,20 @@ namespace DevHive.Services.Tests
Name = name,
};
- this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyExistAsync(It.IsAny<Guid>())).Returns(Task.FromResult(true));
- this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny<string>())).Returns(Task.FromResult(false));
- this.TechnologyRepositoryMock.Setup(p => p.EditAsync(It.IsAny<Guid>(), It.IsAny<Technology>())).Returns(Task.FromResult(shouldPass));
- this.MapperMock.Setup(p => p.Map<Technology>(It.IsAny<UpdateTechnologyServiceModel>())).Returns(technology);
-
- bool result = await this.TechnologyService.UpdateTechnology(updatetechnologyServiceModel);
+ this._technologyRepositoryMock
+ .Setup(p => p.DoesTechnologyExistAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(true);
+ this._technologyRepositoryMock
+ .Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny<string>()))
+ .ReturnsAsync(false);
+ this._technologyRepositoryMock
+ .Setup(p => p.EditAsync(It.IsAny<Guid>(), It.IsAny<Technology>()))
+ .ReturnsAsync(shouldPass);
+ this._mapperMock
+ .Setup(p => p.Map<Technology>(It.IsAny<UpdateTechnologyServiceModel>()))
+ .Returns(technology);
+
+ bool result = await this._technologyService.UpdateTechnology(updatetechnologyServiceModel);
Assert.AreEqual(shouldPass, result);
}
@@ -202,9 +236,11 @@ namespace DevHive.Services.Tests
{
};
- this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyExistAsync(It.IsAny<Guid>())).Returns(Task.FromResult(false));
+ this._technologyRepositoryMock
+ .Setup(p => p.DoesTechnologyExistAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(false);
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.TechnologyService.UpdateTechnology(updateTechnologyServiceModel));
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._technologyService.UpdateTechnology(updateTechnologyServiceModel));
Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message");
}
@@ -217,10 +253,14 @@ namespace DevHive.Services.Tests
{
};
- this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyExistAsync(It.IsAny<Guid>())).Returns(Task.FromResult(true));
- this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny<string>())).Returns(Task.FromResult(true));
+ this._technologyRepositoryMock
+ .Setup(p => p.DoesTechnologyExistAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(true);
+ this._technologyRepositoryMock
+ .Setup(p => p.DoesTechnologyNameExistAsync(It.IsAny<string>()))
+ .ReturnsAsync(true);
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.TechnologyService.UpdateTechnology(updateTechnologyServiceModel));
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._technologyService.UpdateTechnology(updateTechnologyServiceModel));
Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message");
}
@@ -233,14 +273,20 @@ namespace DevHive.Services.Tests
[TestCase(false)]
public async Task DeleteTechnology_ShouldReturnIfDeletionIsSuccessfull_WhenTechnologyExists(bool shouldPass)
{
- Guid id = new Guid();
+ Guid id = Guid.NewGuid();
Technology technology = new Technology();
- this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyExistAsync(It.IsAny<Guid>())).Returns(Task.FromResult(true));
- this.TechnologyRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny<Guid>())).Returns(Task.FromResult(technology));
- this.TechnologyRepositoryMock.Setup(p => p.DeleteAsync(It.IsAny<Technology>())).Returns(Task.FromResult(shouldPass));
+ this._technologyRepositoryMock
+ .Setup(p => p.DoesTechnologyExistAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(true);
+ this._technologyRepositoryMock
+ .Setup(p => p.GetByIdAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(technology);
+ this._technologyRepositoryMock
+ .Setup(p => p.DeleteAsync(It.IsAny<Technology>()))
+ .ReturnsAsync(shouldPass);
- bool result = await this.TechnologyService.DeleteTechnology(id);
+ bool result = await this._technologyService.DeleteTechnology(id);
Assert.AreEqual(shouldPass, result);
}
@@ -249,11 +295,13 @@ namespace DevHive.Services.Tests
public void DeleteTechnology_ThrowsException_WhenTechnologyDoesNotExist()
{
string exceptionMessage = "Technology does not exist!";
- Guid id = new Guid();
+ Guid id = Guid.NewGuid();
- this.TechnologyRepositoryMock.Setup(p => p.DoesTechnologyExistAsync(It.IsAny<Guid>())).Returns(Task.FromResult(false));
+ this._technologyRepositoryMock
+ .Setup(p => p.DoesTechnologyExistAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(false);
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.TechnologyService.DeleteTechnology(id));
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._technologyService.DeleteTechnology(id));
Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message");
}
diff --git a/src/Services/DevHive.Services.Tests/UserService.Tests.cs b/src/Services/DevHive.Services.Tests/UserService.Tests.cs
index 550106f..7990b32 100644
--- a/src/Services/DevHive.Services.Tests/UserService.Tests.cs
+++ b/src/Services/DevHive.Services.Tests/UserService.Tests.cs
@@ -1,20 +1,14 @@
using System;
using System.Collections.Generic;
-using System.IdentityModel.Tokens.Jwt;
-using System.Security.Claims;
-using System.Text;
using System.Threading.Tasks;
using AutoMapper;
+using DevHive.Common.Jwt.Interfaces;
using DevHive.Common.Models.Identity;
-using DevHive.Common.Models.Misc;
using DevHive.Data.Interfaces;
using DevHive.Data.Models;
using DevHive.Services.Interfaces;
using DevHive.Services.Models.User;
-using DevHive.Services.Options;
using DevHive.Services.Services;
-using Microsoft.AspNetCore.Identity;
-using Microsoft.IdentityModel.Tokens;
using Moq;
using NUnit.Framework;
@@ -23,28 +17,34 @@ namespace DevHive.Services.Tests
[TestFixture]
public class UserServiceTests
{
- private Mock<ICloudService> CloudServiceMock { get; set; }
- private Mock<IUserRepository> UserRepositoryMock { get; set; }
- private Mock<IRoleRepository> RoleRepositoryMock { get; set; }
- private Mock<ILanguageRepository> LanguageRepositoryMock { get; set; }
- private Mock<ITechnologyRepository> TechnologyRepositoryMock { get; set; }
- private Mock<IMapper> MapperMock { get; set; }
- private JwtOptions JwtOptions { get; set; }
- private UserService UserService { get; set; }
+ private Mock<ICloudService> _cloudServiceMock;
+ private Mock<IUserRepository> _userRepositoryMock;
+ private Mock<IRoleRepository> _roleRepositoryMock;
+ private Mock<ILanguageRepository> _languageRepositoryMock;
+ private Mock<ITechnologyRepository> _technologyRepositoryMock;
+ private Mock<IMapper> _mapperMock;
+ private Mock<IJwtService> _jwtServiceMock;
+ private UserService _userService;
#region SetUps
[SetUp]
public void Setup()
{
- this.UserRepositoryMock = new Mock<IUserRepository>();
- this.RoleRepositoryMock = new Mock<IRoleRepository>();
- this.CloudServiceMock = new Mock<ICloudService>();
- this.LanguageRepositoryMock = new Mock<ILanguageRepository>();
- this.TechnologyRepositoryMock = new Mock<ITechnologyRepository>();
- this.JwtOptions = new JwtOptions("gXfQlU6qpDleFWyimscjYcT3tgFsQg3yoFjcvSLxG56n1Vu2yptdIUq254wlJWjm");
- this.MapperMock = new Mock<IMapper>();
- // TODO: give actual UserManager and RoleManager to UserService
- this.UserService = new UserService(this.UserRepositoryMock.Object, this.LanguageRepositoryMock.Object, this.RoleRepositoryMock.Object, this.TechnologyRepositoryMock.Object, null, null, this.MapperMock.Object, this.JwtOptions, this.CloudServiceMock.Object);
+ this._userRepositoryMock = new Mock<IUserRepository>();
+ this._roleRepositoryMock = new Mock<IRoleRepository>();
+ this._cloudServiceMock = new Mock<ICloudService>();
+ this._languageRepositoryMock = new Mock<ILanguageRepository>();
+ this._technologyRepositoryMock = new Mock<ITechnologyRepository>();
+ this._jwtServiceMock = new Mock<IJwtService>();
+ this._mapperMock = new Mock<IMapper>();
+ this._userService = new UserService(
+ this._userRepositoryMock.Object,
+ this._languageRepositoryMock.Object,
+ this._roleRepositoryMock.Object,
+ this._technologyRepositoryMock.Object,
+ this._mapperMock.Object,
+ this._cloudServiceMock.Object,
+ this._jwtServiceMock.Object);
}
#endregion
@@ -52,132 +52,166 @@ namespace DevHive.Services.Tests
[Test]
public async Task LoginUser_ReturnsTokenModel_WhenLoggingUserIn()
{
- string somePassword = "GoshoTrapovImaGolemChep";
- const string name = "GoshoTrapov";
- string hashedPassword = PasswordModifications.GeneratePasswordHash(somePassword);
- LoginServiceModel loginServiceModel = new LoginServiceModel
+ string somePassword = "I'm_Nigga";
+
+ LoginServiceModel loginServiceModel = new()
{
Password = somePassword
};
- User user = new User
+ User user = new()
{
Id = Guid.NewGuid(),
- PasswordHash = hashedPassword,
- UserName = name
+ PasswordHash = somePassword,
+ UserName = "g_trapov"
};
- this.UserRepositoryMock.Setup(p => p.DoesUsernameExistAsync(It.IsAny<string>())).Returns(Task.FromResult(true));
- this.UserRepositoryMock.Setup(p => p.GetByUsernameAsync(It.IsAny<string>())).Returns(Task.FromResult(user));
-
- string JWTSecurityToken = this.WriteJWTSecurityToken(user.Id, user.UserName, user.Roles);
-
- TokenModel tokenModel = await this.UserService.LoginUser(loginServiceModel);
-
- Assert.AreEqual(JWTSecurityToken, tokenModel.Token, "LoginUser does not return the correct token");
+ this._userRepositoryMock
+ .Setup(p => p.DoesUsernameExistAsync(It.IsAny<string>()))
+ .ReturnsAsync(true);
+ this._userRepositoryMock
+ .Setup(p => p.VerifyPassword(It.IsAny<User>(), It.IsAny<string>()))
+ .ReturnsAsync(true);
+ this._userRepositoryMock
+ .Setup(p => p.GetByUsernameAsync(It.IsAny<string>()))
+ .ReturnsAsync(user);
+
+ string jwtSecurityToken = "akjdhfakndvlahdfkljahdlfkjhasldf";
+ this._jwtServiceMock
+ .Setup(p => p.GenerateJwtToken(It.IsAny<Guid>(), It.IsAny<string>(), It.IsAny<List<string>>()))
+ .Returns(jwtSecurityToken);
+ TokenModel tokenModel = await this._userService.LoginUser(loginServiceModel);
+
+ Assert.AreEqual(jwtSecurityToken, tokenModel.Token, "LoginUser does not return the correct token");
}
[Test]
public void LoginUser_ThrowsException_WhenUserNameDoesNotExist()
{
- const string EXCEPTION_MESSAGE = "Invalid username!";
- LoginServiceModel loginServiceModel = new LoginServiceModel
- {
- };
+ LoginServiceModel loginServiceModel = new();
- this.UserRepositoryMock.Setup(p => p.DoesUsernameExistAsync(It.IsAny<string>())).Returns(Task.FromResult(false));
+ this._userRepositoryMock
+ .Setup(p => p.DoesUsernameExistAsync(It.IsAny<string>()))
+ .ReturnsAsync(false);
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.UserService.LoginUser(loginServiceModel));
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(
+ () => this._userService.LoginUser(loginServiceModel));
- Assert.AreEqual(EXCEPTION_MESSAGE, ex.Message, "Incorect Exception message");
+ Assert.AreEqual("Invalid username!", ex.Message, "Incorrect Exception message");
}
[Test]
- public void LoginUser_ThroiwsException_WhenPasswordIsIncorect()
+ public void LoginUser_ThrowsException_WhenPasswordIsIncorrect()
{
- const string EXCEPTION_MESSAGE = "Incorrect password!";
- string somePassword = "GoshoTrapovImaGolemChep";
- LoginServiceModel loginServiceModel = new LoginServiceModel
+ string somePassword = "I'm_Nigga";
+
+ LoginServiceModel loginServiceModel = new()
{
Password = somePassword
};
- User user = new User
+ User user = new()
{
Id = Guid.NewGuid(),
- PasswordHash = "InvalidPasswordHas"
};
- this.UserRepositoryMock.Setup(p => p.DoesUsernameExistAsync(It.IsAny<string>())).Returns(Task.FromResult(true));
- this.UserRepositoryMock.Setup(p => p.GetByUsernameAsync(It.IsAny<string>())).Returns(Task.FromResult(user));
+ this._userRepositoryMock
+ .Setup(p => p.DoesUsernameExistAsync(It.IsAny<string>()))
+ .ReturnsAsync(true);
+ this._userRepositoryMock
+ .Setup(p => p.GetByUsernameAsync(It.IsAny<string>()))
+ .ReturnsAsync(user);
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.UserService.LoginUser(loginServiceModel));
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._userService.LoginUser(loginServiceModel));
- Assert.AreEqual(EXCEPTION_MESSAGE, ex.Message, "Incorect Exception message");
+ Assert.AreEqual("Incorrect password!", ex.Message, "Incorrect Exception message");
}
#endregion
#region RegisterUser
- // [Test]
- // public async Task RegisterUser_ReturnsTokenModel_WhenUserIsSuccessfull()
- // {
- // string somePassword = "GoshoTrapovImaGolemChep";
- // const string name = "GoshoTrapov";
- // RegisterServiceModel registerServiceModel = new RegisterServiceModel
- // {
- // Password = somePassword
- // };
- // User user = new User
- // {
- // Id = Guid.NewGuid(),
- // UserName = name
- // };
- // Role role = new Role { Name = Role.DefaultRole };
- // HashSet<Role> roles = new HashSet<Role> { role };
- //
- // this.UserRepositoryMock.Setup(p => p.DoesUsernameExistAsync(It.IsAny<string>())).Returns(Task.FromResult(false));
- // this.UserRepositoryMock.Setup(p => p.DoesEmailExistAsync(It.IsAny<string>())).Returns(Task.FromResult(false));
- // this.RoleRepositoryMock.Setup(p => p.DoesNameExist(It.IsAny<string>())).Returns(Task.FromResult(true));
- // this.RoleRepositoryMock.Setup(p => p.GetByNameAsync(It.IsAny<string>())).Returns(Task.FromResult(role));
- // this.MapperMock.Setup(p => p.Map<User>(It.IsAny<RegisterServiceModel>())).Returns(user);
- // this.UserRepositoryMock.Setup(p => p.AddAsync(It.IsAny<User>())).Verifiable();
- //
- // string JWTSecurityToken = this.WriteJWTSecurityToken(user.Id, user.UserName, roles);
- //
- // TokenModel tokenModel = await this.UserService.RegisterUser(registerServiceModel);
- //
- // Mock.Verify();
- // Assert.AreEqual(JWTSecurityToken, tokenModel.Token, "RegisterUser does not return the correct token");
- // }
+ [Test]
+ public async Task RegisterUser_ReturnsTokenModel_WhenUserIsSuccessfull()
+ {
+ Guid userId = Guid.NewGuid();
+ RegisterServiceModel registerServiceModel = new()
+ {
+ Password = "ImNigga"
+ };
+ User user = new()
+ {
+ Id = userId,
+ UserName = "g_trapov"
+ };
+ Role role = new() { Name = Role.DefaultRole };
+
+ this._userRepositoryMock
+ .Setup(p => p.DoesUsernameExistAsync(It.IsAny<string>()))
+ .ReturnsAsync(false);
+ this._userRepositoryMock
+ .Setup(p => p.VerifyPassword(It.IsAny<User>(), It.IsAny<string>()))
+ .ReturnsAsync(true);
+ this._userRepositoryMock
+ .Setup(p => p.DoesEmailExistAsync(It.IsAny<string>()))
+ .ReturnsAsync(false);
+ this._userRepositoryMock
+ .Setup(p => p.AddAsync(It.IsAny<User>()))
+ .ReturnsAsync(true);
+ this._userRepositoryMock
+ .Setup(p => p.AddRoleToUser(It.IsAny<User>(), It.IsAny<string>()))
+ .ReturnsAsync(true);
+ this._userRepositoryMock
+ .Setup(p => p.GetByUsernameAsync(It.IsAny<string>()))
+ .ReturnsAsync(user);
+
+ this._roleRepositoryMock
+ .Setup(p => p.DoesNameExist(It.IsAny<string>()))
+ .ReturnsAsync(true);
+ this._roleRepositoryMock
+ .Setup(p => p.GetByNameAsync(It.IsAny<string>()))
+ .ReturnsAsync(role);
+
+ this._mapperMock
+ .Setup(p => p.Map<User>(It.IsAny<RegisterServiceModel>()))
+ .Returns(user);
+
+ string jwtSecurityToken = "akjdhfakndvlahdfkljahdlfkjhasldf";
+ this._jwtServiceMock
+ .Setup(p => p.GenerateJwtToken(It.IsAny<Guid>(), It.IsAny<string>(), It.IsAny<List<string>>()))
+ .Returns(jwtSecurityToken);
+ TokenModel tokenModel = await this._userService.RegisterUser(registerServiceModel);
+
+ Assert.AreEqual(jwtSecurityToken, tokenModel.Token, "RegisterUser does not return the correct token");
+ }
[Test]
public void RegisterUser_ThrowsException_WhenUsernameAlreadyExists()
{
const string EXCEPTION_MESSAGE = "Username already exists!";
- RegisterServiceModel registerServiceModel = new RegisterServiceModel
- {
- };
+ RegisterServiceModel registerServiceModel = new();
- this.UserRepositoryMock.Setup(p => p.DoesUsernameExistAsync(It.IsAny<string>())).Returns(Task.FromResult(true));
+ this._userRepositoryMock
+ .Setup(p => p.DoesUsernameExistAsync(It.IsAny<string>()))
+ .ReturnsAsync(true);
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.UserService.RegisterUser(registerServiceModel));
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(
+ () => this._userService.RegisterUser(registerServiceModel));
- Assert.AreEqual(EXCEPTION_MESSAGE, ex.Message, "Incorect Exception message");
+ Assert.AreEqual(EXCEPTION_MESSAGE, ex.Message, "Incorrect Exception message");
}
[Test]
public void RegisterUser_ThrowsException_WhenEmailAlreadyExists()
{
- const string EXCEPTION_MESSAGE = "Email already exists!";
-
- RegisterServiceModel registerServiceModel = new RegisterServiceModel
- {
- };
+ RegisterServiceModel registerServiceModel = new();
- this.UserRepositoryMock.Setup(p => p.DoesUsernameExistAsync(It.IsAny<string>())).Returns(Task.FromResult(false));
- this.UserRepositoryMock.Setup(p => p.DoesEmailExistAsync(It.IsAny<string>())).Returns(Task.FromResult(true));
+ this._userRepositoryMock
+ .Setup(p => p.DoesUsernameExistAsync(It.IsAny<string>()))
+ .ReturnsAsync(false);
+ this._userRepositoryMock
+ .Setup(p => p.DoesEmailExistAsync(It.IsAny<string>()))
+ .ReturnsAsync(true);
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.UserService.RegisterUser(registerServiceModel));
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._userService.RegisterUser(registerServiceModel));
- Assert.AreEqual(EXCEPTION_MESSAGE, ex.Message, "Incorect Exception message");
+ Assert.AreEqual("Email already exists!", ex.Message, "Incorrect Exception message");
}
#endregion
@@ -185,34 +219,37 @@ namespace DevHive.Services.Tests
[Test]
public async Task GetUserById_ReturnsTheUser_WhenItExists()
{
- Guid id = new Guid();
- string name = "Gosho Trapov";
- User user = new()
- {
- };
- UserServiceModel userServiceModel = new UserServiceModel
+ Guid id = new();
+ string username = "g_trapov";
+ User user = new();
+ UserServiceModel userServiceModel = new()
{
- UserName = name
+ UserName = username
};
- this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny<Guid>())).Returns(Task.FromResult(user));
- this.MapperMock.Setup(p => p.Map<UserServiceModel>(It.IsAny<User>())).Returns(userServiceModel);
+ this._userRepositoryMock
+ .Setup(p => p.GetByIdAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(user);
+ this._mapperMock
+ .Setup(p => p.Map<UserServiceModel>(It.IsAny<User>()))
+ .Returns(userServiceModel);
- UserServiceModel result = await this.UserService.GetUserById(id);
+ UserServiceModel result = await this._userService.GetUserById(id);
- Assert.AreEqual(name, result.UserName);
+ Assert.AreEqual(username, result.UserName);
}
[Test]
public void GetTechnologyById_ThrowsException_WhenTechnologyDoesNotExist()
{
- const string EXCEPTION_MESSEGE = "User does not exist!";
- Guid id = new Guid();
- this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny<Guid>())).Returns(Task.FromResult<User>(null));
+ Guid id = new();
+ this._userRepositoryMock
+ .Setup(p => p.GetByIdAsync(It.IsAny<Guid>()))
+ .Returns(Task.FromResult<User>(null));
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.UserService.GetUserById(id));
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._userService.GetUserById(id));
- Assert.AreEqual(EXCEPTION_MESSEGE, ex.Message, "Incorecct exception message");
+ Assert.AreEqual("User does not exist!", ex.Message, "Incorrect exception message");
}
#endregion
@@ -220,32 +257,37 @@ namespace DevHive.Services.Tests
[Test]
public async Task GetUserByUsername_ReturnsTheCorrectUser_IfItExists()
{
- string username = "Gosho Trapov";
- User user = new User();
- UserServiceModel userServiceModel = new UserServiceModel
+ string username = "g_trapov";
+ User user = new();
+ UserServiceModel userServiceModel = new()
{
UserName = username
};
- this.UserRepositoryMock.Setup(p => p.GetByUsernameAsync(It.IsAny<string>())).Returns(Task.FromResult(user));
- this.MapperMock.Setup(p => p.Map<UserServiceModel>(It.IsAny<User>())).Returns(userServiceModel);
+ this._userRepositoryMock
+ .Setup(p => p.GetByUsernameAsync(It.IsAny<string>()))
+ .ReturnsAsync(user);
+ this._mapperMock
+ .Setup(p => p.Map<UserServiceModel>(It.IsAny<User>()))
+ .Returns(userServiceModel);
- UserServiceModel result = await this.UserService.GetUserByUsername(username);
+ UserServiceModel result = await this._userService.GetUserByUsername(username);
Assert.AreEqual(username, result.UserName, "GetUserByUsername does not return the correct user");
}
[Test]
- public async Task GetUserByUsername_ThrowsException_IfUserDoesNotExist()
+ public void GetUserByUsername_ThrowsException_IfUserDoesNotExist()
{
- string username = "Gosho Trapov";
- const string EXCEPTION_MESSEGE = "User does not exist!";
+ string username = "g_trapov";
- this.UserRepositoryMock.Setup(p => p.GetByUsernameAsync(It.IsAny<string>())).Returns(Task.FromResult<User>(null));
+ this._userRepositoryMock
+ .Setup(p => p.GetByUsernameAsync(It.IsAny<string>()))
+ .Returns(Task.FromResult<User>(null));
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.UserService.GetUserByUsername(username));
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._userService.GetUserByUsername(username));
- Assert.AreEqual(EXCEPTION_MESSEGE, ex.Message, "Incorecct exception message");
+ Assert.AreEqual("User does not exist!", ex.Message, "Incorrect exception message");
}
#endregion
@@ -255,76 +297,90 @@ namespace DevHive.Services.Tests
// [TestCase(false)]
// public async Task UpdateUser_ReturnsIfUpdateIsSuccessfull_WhenUserExistsy(bool shouldPass)
// {
- // string name = "Gosho Trapov";
+ // string username = "g_trapov";
// Guid id = Guid.NewGuid();
// User user = new User
// {
- // UserName = name,
+ // UserName = username,
// Id = id,
// };
// UpdateUserServiceModel updateUserServiceModel = new UpdateUserServiceModel
// {
- // UserName = name,
+ // UserName = username,
// };
// UserServiceModel userServiceModel = new UserServiceModel
// {
- // UserName = name,
+ // UserName = username,
// };
// Role role = new Role { };
- //
- // this.UserRepositoryMock.Setup(p => p.DoesUserExistAsync(It.IsAny<Guid>())).Returns(Task.FromResult(true));
- // this.UserRepositoryMock.Setup(p => p.DoesUsernameExistAsync(It.IsAny<string>())).Returns(Task.FromResult(false));
- // this.UserRepositoryMock.Setup(p => p.DoesUserHaveThisUsernameAsync(It.IsAny<Guid>(), It.IsAny<string>())).Returns(true);
- // this.UserRepositoryMock.Setup(p => p.EditAsync(It.IsAny<Guid>(), It.IsAny<User>())).Returns(Task.FromResult(shouldPass));
- // this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny<Guid>())).Returns(Task.FromResult(user));
- // this.MapperMock.Setup(p => p.Map<User>(It.IsAny<UpdateUserServiceModel>())).Returns(user);
- // this.MapperMock.Setup(p => p.Map<UserServiceModel>(It.IsAny<User>())).Returns(userServiceModel);
- //
+ //
+ // this._userRepositoryMock.Setup(p =>
+ // p.DoesUserExistAsync(It.IsAny<Guid>()))
+ // .ReturnsAsync(true);
+ // this._userRepositoryMock.Setup(p =>
+ // p.DoesUsernameExistAsync(It.IsAny<string>()))
+ // .ReturnsAsync(false);
+ // this._userRepositoryMock.Setup(p =>
+ // p.DoesUserHaveThisUsernameAsync(It.IsAny<Guid>(), It.IsAny<string>()))
+ // .Returns(true);
+ // this._userRepositoryMock.Setup(p =>
+ // p.EditAsync(It.IsAny<Guid>(), It.IsAny<User>()))
+ // .ReturnsAsync(shouldPass);
+ // this._userRepositoryMock.Setup(p =>
+ // p.GetByIdAsync(It.IsAny<Guid>()))
+ // .ReturnsAsync(user);
+ // this._mapperMock.Setup(p =>
+ // p.Map<User>(It.IsAny<UpdateUserServiceModel>()))
+ // .Returns(user);
+ // this._mapperMock.Setup(p =>
+ // p.Map<UserServiceModel>(It.IsAny<User>()))
+ // .Returns(userServiceModel);
+ //
// if (shouldPass)
// {
- // UserServiceModel result = await this.UserService.UpdateUser(updateUserServiceModel);
- //
+ // UserServiceModel result = await this._userService.UpdateUser(updateUserServiceModel);
+ //
// Assert.AreEqual(updateUserServiceModel.UserName, result.UserName);
// }
// else
// {
// const string EXCEPTION_MESSAGE = "Unable to edit user!";
- //
- // Exception ex = Assert.ThrowsAsync<InvalidOperationException>(() => this.UserService.UpdateUser(updateUserServiceModel));
- //
- // Assert.AreEqual(EXCEPTION_MESSAGE, ex.Message, "Incorecct exception message");
+ //
+ // Exception ex = Assert.ThrowsAsync<InvalidOperationException>(() => this._userService.UpdateUser(updateUserServiceModel);
+ //
+ // Assert.AreEqual(EXCEPTION_MESSAGE, ex.Message, "Incorrect exception message");
// }
// }
[Test]
public void UpdateUser_ThrowsException_WhenUserDoesNotExist()
{
- const string EXCEPTION_MESSAGE = "User does not exist!";
- UpdateUserServiceModel updateUserServiceModel = new UpdateUserServiceModel
- {
- };
+ UpdateUserServiceModel updateUserServiceModel = new();
- this.UserRepositoryMock.Setup(p => p.DoesUserExistAsync(It.IsAny<Guid>())).Returns(Task.FromResult(false));
+ this._userRepositoryMock
+ .Setup(p => p.DoesUserExistAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(false);
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.UserService.UpdateUser(updateUserServiceModel));
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._userService.UpdateUser(updateUserServiceModel));
- Assert.AreEqual(EXCEPTION_MESSAGE, ex.Message, "Incorecct exception message");
+ Assert.AreEqual("User does not exist!", ex.Message, "Incorrect exception message");
}
[Test]
public void UpdateUser_ThrowsException_WhenUserNameAlreadyExists()
{
- const string EXCEPTION_MESSAGE = "Username already exists!";
- UpdateUserServiceModel updateUserServiceModel = new UpdateUserServiceModel
- {
- };
+ UpdateUserServiceModel updateUserServiceModel = new();
- this.UserRepositoryMock.Setup(p => p.DoesUserExistAsync(It.IsAny<Guid>())).Returns(Task.FromResult(true));
- this.UserRepositoryMock.Setup(p => p.DoesUsernameExistAsync(It.IsAny<string>())).Returns(Task.FromResult(true));
+ this._userRepositoryMock
+ .Setup(p => p.DoesUserExistAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(true);
+ this._userRepositoryMock
+ .Setup(p => p.DoesUsernameExistAsync(It.IsAny<string>()))
+ .ReturnsAsync(true);
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.UserService.UpdateUser(updateUserServiceModel));
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._userService.UpdateUser(updateUserServiceModel));
- Assert.AreEqual(EXCEPTION_MESSAGE, ex.Message, "Incorecct exception message");
+ Assert.AreEqual("Username already exists!", ex.Message, "Incorrect exception message");
}
#endregion
@@ -335,59 +391,37 @@ namespace DevHive.Services.Tests
// [TestCase(false)]
// public async Task DeleteUser_ShouldReturnIfDeletionIsSuccessfull_WhenUserExists(bool shouldPass)
// {
- // Guid id = new Guid();
+ // Guid id = Guid.NewGuid();
// User user = new User();
- //
- // this.UserRepositoryMock.Setup(p => p.DoesUserExistAsync(It.IsAny<Guid>())).Returns(Task.FromResult(true));
- // this.UserRepositoryMock.Setup(p => p.GetByIdAsync(It.IsAny<Guid>())).Returns(Task.FromResult(user));
- // this.UserRepositoryMock.Setup(p => p.DeleteAsync(It.IsAny<User>())).Returns(Task.FromResult(shouldPass));
- //
- // bool result = await this.UserService.DeleteUser(id);
- //
+ //
+ // this._userRepositoryMock.Setup(p =>
+ // p.DoesUserExistAsync(It.IsAny<Guid>()))
+ // .ReturnsAsync(true);
+ // this._userRepositoryMock.Setup(p =>
+ // p.GetByIdAsync(It.IsAny<Guid>()))
+ // .ReturnsAsync(user);
+ // this._userRepositoryMock.Setup(p =>
+ // p.DeleteAsync(It.IsAny<User>()))
+ // .ReturnsAsync(shouldPass);
+ //
+ // bool result = await this._userService.DeleteUser(id);
+ //
// Assert.AreEqual(shouldPass, result);
// }
- //
+ //
[Test]
public void DeleteUser_ThrowsException_WhenUserDoesNotExist()
{
string exceptionMessage = "User does not exist!";
- Guid id = new Guid();
-
- this.UserRepositoryMock.Setup(p => p.DoesUserExistAsync(It.IsAny<Guid>())).Returns(Task.FromResult(false));
+ Guid id = new();
- Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this.UserService.DeleteUser(id));
+ this._userRepositoryMock
+ .Setup(p => p.DoesUserExistAsync(It.IsAny<Guid>()))
+ .ReturnsAsync(false);
- Assert.AreEqual(exceptionMessage, ex.Message, "Incorecct exception message");
- }
- #endregion
-
- #region HelperMethods
- private string WriteJWTSecurityToken(Guid userId, string username, HashSet<Role> roles)
- {
- byte[] signingKey = Encoding.ASCII.GetBytes(this.JwtOptions.Secret);
- HashSet<Claim> claims = new()
- {
- new Claim("ID", $"{userId}"),
- new Claim("Username", username),
- };
-
- foreach (var role in roles)
- {
- claims.Add(new Claim(ClaimTypes.Role, role.Name));
- }
-
- SecurityTokenDescriptor tokenDescriptor = new()
- {
- Subject = new ClaimsIdentity(claims),
- Expires = DateTime.Today.AddDays(7),
- SigningCredentials = new SigningCredentials(
- new SymmetricSecurityKey(signingKey),
- SecurityAlgorithms.HmacSha512Signature)
- };
+ Exception ex = Assert.ThrowsAsync<ArgumentException>(() => this._userService.DeleteUser(id));
- JwtSecurityTokenHandler tokenHandler = new();
- SecurityToken token = tokenHandler.CreateToken(tokenDescriptor);
- return tokenHandler.WriteToken(token);
+ Assert.AreEqual(exceptionMessage, ex.Message, "Incorrect exception message");
}
#endregion
}
diff --git a/src/Web/DevHive.Web.Tests/CommentController.Tests.cs b/src/Web/DevHive.Web.Tests/CommentController.Tests.cs
index 7860f3c..830677e 100644
--- a/src/Web/DevHive.Web.Tests/CommentController.Tests.cs
+++ b/src/Web/DevHive.Web.Tests/CommentController.Tests.cs
@@ -1,7 +1,7 @@
using System;
using System.Linq;
-using System.Threading.Tasks;
using AutoMapper;
+using DevHive.Common.Jwt.Interfaces;
using DevHive.Services.Interfaces;
using DevHive.Services.Models.Comment;
using DevHive.Web.Controllers;
@@ -12,21 +12,23 @@ using NUnit.Framework;
namespace DevHive.Web.Tests
{
- [TestFixture]
+ [TestFixture]
public class CommentControllerTests
{
const string MESSAGE = "Gosho Trapov";
- private Mock<ICommentService> CommentServiceMock { get; set; }
- private Mock<IMapper> MapperMock { get; set; }
- private CommentController CommentController { get; set; }
+ private Mock<ICommentService> _commentServiceMock;
+ private Mock<IMapper> _mapperMock;
+ private Mock<IJwtService> _jwtServiceMock;
+ private CommentController _commentController;
#region Setup
[SetUp]
public void SetUp()
{
- this.CommentServiceMock = new Mock<ICommentService>();
- this.MapperMock = new Mock<IMapper>();
- this.CommentController = new CommentController(this.CommentServiceMock.Object, this.MapperMock.Object);
+ this._commentServiceMock = new Mock<ICommentService>();
+ this._mapperMock = new Mock<IMapper>();
+ this._jwtServiceMock = new Mock<IJwtService>();
+ this._commentController = new CommentController(this._commentServiceMock.Object, this._mapperMock.Object, this._jwtServiceMock.Object);
}
#endregion
@@ -44,11 +46,20 @@ namespace DevHive.Web.Tests
Message = MESSAGE
};
- this.MapperMock.Setup(p => p.Map<CreateCommentServiceModel>(It.IsAny<CreateCommentWebModel>())).Returns(createCommentServiceModel);
- this.CommentServiceMock.Setup(p => p.AddComment(It.IsAny<CreateCommentServiceModel>())).Returns(Task.FromResult(id));
- this.CommentServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true));
-
- IActionResult result = this.CommentController.AddComment(Guid.NewGuid(), createCommentWebModel, null).Result;
+ this._mapperMock
+ .Setup(p => p.Map<CreateCommentServiceModel>(It.IsAny<CreateCommentWebModel>()))
+ .Returns(createCommentServiceModel);
+ this._commentServiceMock
+ .Setup(p => p.AddComment(It.IsAny<CreateCommentServiceModel>()))
+ .ReturnsAsync(id);
+ this._jwtServiceMock
+ .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>()))
+ .Returns(true);
+ this._commentServiceMock
+ .Setup(p => p.ValidateJwtForCreating(It.IsAny<Guid>(), It.IsAny<string>()))
+ .ReturnsAsync(true);
+
+ IActionResult result = this._commentController.AddComment(Guid.NewGuid(), createCommentWebModel, null).Result;
Assert.IsInstanceOf<OkObjectResult>(result);
@@ -77,11 +88,20 @@ namespace DevHive.Web.Tests
string errorMessage = $"Could not create comment!";
- this.MapperMock.Setup(p => p.Map<CreateCommentServiceModel>(It.IsAny<CreateCommentWebModel>())).Returns(createCommentServiceModel);
- this.CommentServiceMock.Setup(p => p.AddComment(It.IsAny<CreateCommentServiceModel>())).Returns(Task.FromResult(Guid.Empty));
- this.CommentServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true));
+ this._mapperMock
+ .Setup(p => p.Map<CreateCommentServiceModel>(It.IsAny<CreateCommentWebModel>()))
+ .Returns(createCommentServiceModel);
+ this._commentServiceMock
+ .Setup(p => p.AddComment(It.IsAny<CreateCommentServiceModel>()))
+ .ReturnsAsync(Guid.Empty);
+ this._jwtServiceMock
+ .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>()))
+ .Returns(true);
+ this._commentServiceMock
+ .Setup(p => p.ValidateJwtForCreating(It.IsAny<Guid>(), It.IsAny<string>()))
+ .ReturnsAsync(true);
- IActionResult result = this.CommentController.AddComment(Guid.NewGuid(), createCommentWebModel, null).Result;
+ IActionResult result = this._commentController.AddComment(Guid.NewGuid(), createCommentWebModel, null).Result;
Assert.IsInstanceOf<BadRequestObjectResult>(result);
@@ -99,9 +119,14 @@ namespace DevHive.Web.Tests
Message = MESSAGE
};
- this.CommentServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(false));
+ this._jwtServiceMock
+ .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>()))
+ .Returns(true);
+ this._commentServiceMock
+ .Setup(p => p.ValidateJwtForCreating(It.IsAny<Guid>(), It.IsAny<string>()))
+ .ReturnsAsync(false);
- IActionResult result = this.CommentController.AddComment(Guid.NewGuid(), createCommentWebModel, null).Result;
+ IActionResult result = this._commentController.AddComment(Guid.NewGuid(), createCommentWebModel, null).Result;
Assert.IsInstanceOf<UnauthorizedResult>(result);
}
@@ -121,10 +146,17 @@ namespace DevHive.Web.Tests
Message = MESSAGE
};
- this.CommentServiceMock.Setup(p => p.GetCommentById(It.IsAny<Guid>())).Returns(Task.FromResult(readCommentServiceModel));
- this.MapperMock.Setup(p => p.Map<ReadCommentWebModel>(It.IsAny<ReadCommentServiceModel>())).Returns(readCommentWebModel);
+ this._jwtServiceMock
+ .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>()))
+ .Returns(true);
+ this._commentServiceMock
+ .Setup(p => p.GetCommentById(It.IsAny<Guid>()))
+ .ReturnsAsync(readCommentServiceModel);
+ this._mapperMock
+ .Setup(p => p.Map<ReadCommentWebModel>(It.IsAny<ReadCommentServiceModel>()))
+ .Returns(readCommentWebModel);
- IActionResult result = this.CommentController.GetCommentById(id).Result;
+ IActionResult result = this._commentController.GetCommentById(id).Result;
Assert.IsInstanceOf<OkObjectResult>(result);
@@ -149,11 +181,20 @@ namespace DevHive.Web.Tests
NewMessage = MESSAGE
};
- this.CommentServiceMock.Setup(p => p.UpdateComment(It.IsAny<UpdateCommentServiceModel>())).Returns(Task.FromResult(id));
- this.CommentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true));
- this.MapperMock.Setup(p => p.Map<UpdateCommentServiceModel>(It.IsAny<UpdateCommentWebModel>())).Returns(updateCommentServiceModel);
-
- IActionResult result = this.CommentController.UpdateComment(Guid.Empty, updateCommentWebModel, null).Result;
+ this._commentServiceMock
+ .Setup(p => p.UpdateComment(It.IsAny<UpdateCommentServiceModel>()))
+ .ReturnsAsync(id);
+ this._jwtServiceMock
+ .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>()))
+ .Returns(true);
+ this._commentServiceMock
+ .Setup(p => p.ValidateJwtForComment(It.IsAny<Guid>(), It.IsAny<string>()))
+ .ReturnsAsync(true);
+ this._mapperMock
+ .Setup(p => p.Map<UpdateCommentServiceModel>(It.IsAny<UpdateCommentWebModel>()))
+ .Returns(updateCommentServiceModel);
+
+ IActionResult result = this._commentController.UpdateComment(Guid.Empty, updateCommentWebModel, null).Result;
Assert.IsInstanceOf<OkObjectResult>(result);
@@ -177,11 +218,20 @@ namespace DevHive.Web.Tests
NewMessage = MESSAGE
};
- this.CommentServiceMock.Setup(p => p.UpdateComment(It.IsAny<UpdateCommentServiceModel>())).Returns(Task.FromResult(Guid.Empty));
- this.CommentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true));
- this.MapperMock.Setup(p => p.Map<UpdateCommentServiceModel>(It.IsAny<UpdateCommentWebModel>())).Returns(updateCommentServiceModel);
-
- IActionResult result = this.CommentController.UpdateComment(Guid.Empty, updateCommentWebModel, null).Result;
+ this._commentServiceMock
+ .Setup(p => p.UpdateComment(It.IsAny<UpdateCommentServiceModel>()))
+ .ReturnsAsync(Guid.Empty);
+ this._jwtServiceMock
+ .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>()))
+ .Returns(true);
+ this._commentServiceMock
+ .Setup(p => p.ValidateJwtForComment(It.IsAny<Guid>(), It.IsAny<string>()))
+ .ReturnsAsync(true);
+ this._mapperMock
+ .Setup(p => p.Map<UpdateCommentServiceModel>(It.IsAny<UpdateCommentWebModel>()))
+ .Returns(updateCommentServiceModel);
+
+ IActionResult result = this._commentController.UpdateComment(Guid.Empty, updateCommentWebModel, null).Result;
Assert.IsInstanceOf<BadRequestObjectResult>(result);
BadRequestObjectResult badRequestObjectResult = result as BadRequestObjectResult;
@@ -198,9 +248,12 @@ namespace DevHive.Web.Tests
NewMessage = MESSAGE
};
- this.CommentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(false));
+ this._jwtServiceMock
+ .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>()))
+ .Returns(false);
+ // this.CommentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny<Guid>(), It.IsAny<string>())).ReturnsAsync(false));
- IActionResult result = this.CommentController.UpdateComment(Guid.Empty, updateCommentWebModel, null).Result;
+ IActionResult result = this._commentController.UpdateComment(Guid.Empty, updateCommentWebModel, null).Result;
Assert.IsInstanceOf<UnauthorizedResult>(result);
}
@@ -212,10 +265,17 @@ namespace DevHive.Web.Tests
{
Guid id = Guid.NewGuid();
- this.CommentServiceMock.Setup(p => p.DeleteComment(It.IsAny<Guid>())).Returns(Task.FromResult(true));
- this.CommentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true));
+ this._commentServiceMock
+ .Setup(p => p.DeleteComment(It.IsAny<Guid>()))
+ .ReturnsAsync(true);
+ this._jwtServiceMock
+ .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>()))
+ .Returns(true);
+ this._commentServiceMock
+ .Setup(p => p.ValidateJwtForComment(It.IsAny<Guid>(), It.IsAny<string>()))
+ .ReturnsAsync(true);
- IActionResult result = this.CommentController.DeleteComment(id, null).Result;
+ IActionResult result = this._commentController.DeleteComment(id, null).Result;
Assert.IsInstanceOf<OkResult>(result);
}
@@ -226,10 +286,17 @@ namespace DevHive.Web.Tests
string message = "Could not delete Comment";
Guid id = Guid.NewGuid();
- this.CommentServiceMock.Setup(p => p.DeleteComment(It.IsAny<Guid>())).Returns(Task.FromResult(false));
- this.CommentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true));
+ this._commentServiceMock
+ .Setup(p => p.DeleteComment(It.IsAny<Guid>()))
+ .ReturnsAsync(false);
+ this._jwtServiceMock
+ .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>()))
+ .Returns(true);
+ this._commentServiceMock
+ .Setup(p => p.ValidateJwtForComment(It.IsAny<Guid>(), It.IsAny<string>()))
+ .ReturnsAsync(true);
- IActionResult result = this.CommentController.DeleteComment(id, null).Result;
+ IActionResult result = this._commentController.DeleteComment(id, null).Result;
Assert.IsInstanceOf<BadRequestObjectResult>(result);
@@ -242,9 +309,14 @@ namespace DevHive.Web.Tests
[Test]
public void DeleteComment_ReturnsUnauthorizedResult_WhenUserIsNotAuthorized()
{
- this.CommentServiceMock.Setup(p => p.ValidateJwtForComment(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(false));
-
- IActionResult result = this.CommentController.DeleteComment(Guid.Empty, null).Result;
+ this._jwtServiceMock
+ .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>()))
+ .Returns(true);
+ this._commentServiceMock
+ .Setup(p => p.ValidateJwtForComment(It.IsAny<Guid>(), It.IsAny<string>()))
+ .ReturnsAsync(false);
+
+ IActionResult result = this._commentController.DeleteComment(Guid.Empty, null).Result;
Assert.IsInstanceOf<UnauthorizedResult>(result);
}
diff --git a/src/Web/DevHive.Web.Tests/FeedController.Tests.cs b/src/Web/DevHive.Web.Tests/FeedController.Tests.cs
index 01f67e5..3af2b48 100644
--- a/src/Web/DevHive.Web.Tests/FeedController.Tests.cs
+++ b/src/Web/DevHive.Web.Tests/FeedController.Tests.cs
@@ -17,17 +17,17 @@ namespace DevHive.Web.Tests
[TestFixture]
public class FeedControllerTests
{
- private Mock<IFeedService> FeedServiceMock { get; set; }
- private Mock<IMapper> MapperMock { get; set; }
- private FeedController FeedController { get; set; }
+ private Mock<IFeedService> _feedServiceMock;
+ private Mock<IMapper> _mapperMock;
+ private FeedController _feedController;
#region SetUp
[SetUp]
public void SetUp()
{
- this.FeedServiceMock = new Mock<IFeedService>();
- this.MapperMock = new Mock<IMapper>();
- this.FeedController = new FeedController(this.FeedServiceMock.Object, this.MapperMock.Object);
+ this._feedServiceMock = new Mock<IFeedService>();
+ this._mapperMock = new Mock<IMapper>();
+ this._feedController = new FeedController(this._feedServiceMock.Object, this._mapperMock.Object);
}
#endregion
@@ -48,11 +48,17 @@ namespace DevHive.Web.Tests
}
};
- this.FeedServiceMock.Setup(p => p.GetPage(It.IsAny<GetPageServiceModel>())).Returns(Task.FromResult(readPageServiceModel));
- this.MapperMock.Setup(p => p.Map<GetPageServiceModel>(It.IsAny<GetPageWebModel>())).Returns(getPageServiceModel);
- this.MapperMock.Setup(p => p.Map<ReadPageWebModel>(It.IsAny<ReadPageServiceModel>())).Returns(readPageWebModel);
+ this._feedServiceMock
+ .Setup(p => p.GetPage(It.IsAny<GetPageServiceModel>()))
+ .ReturnsAsync(readPageServiceModel);
+ this._mapperMock
+ .Setup(p => p.Map<GetPageServiceModel>(It.IsAny<GetPageWebModel>()))
+ .Returns(getPageServiceModel);
+ this._mapperMock
+ .Setup(p => p.Map<ReadPageWebModel>(It.IsAny<ReadPageServiceModel>()))
+ .Returns(readPageWebModel);
- IActionResult result = await this.FeedController.GetPosts(Guid.Empty, getPageWebModel);
+ IActionResult result = await this._feedController.GetPosts(Guid.Empty, getPageWebModel);
Assert.IsInstanceOf<OkObjectResult>(result);
@@ -80,11 +86,17 @@ namespace DevHive.Web.Tests
}
};
- this.FeedServiceMock.Setup(p => p.GetUserPage(It.IsAny<GetPageServiceModel>())).Returns(Task.FromResult(readPageServiceModel));
- this.MapperMock.Setup(p => p.Map<GetPageServiceModel>(It.IsAny<GetPageWebModel>())).Returns(getPageServiceModel);
- this.MapperMock.Setup(p => p.Map<ReadPageWebModel>(It.IsAny<ReadPageServiceModel>())).Returns(readPageWebModel);
+ this._feedServiceMock
+ .Setup(p => p.GetUserPage(It.IsAny<GetPageServiceModel>()))
+ .ReturnsAsync(readPageServiceModel);
+ this._mapperMock
+ .Setup(p => p.Map<GetPageServiceModel>(It.IsAny<GetPageWebModel>()))
+ .Returns(getPageServiceModel);
+ this._mapperMock
+ .Setup(p => p.Map<ReadPageWebModel>(It.IsAny<ReadPageServiceModel>()))
+ .Returns(readPageWebModel);
- IActionResult result = await this.FeedController.GetUserPosts(null, getPageWebModel);
+ IActionResult result = await this._feedController.GetUserPosts(null, getPageWebModel);
Assert.IsInstanceOf<OkObjectResult>(result);
diff --git a/src/Web/DevHive.Web.Tests/LanguageController.Tests.cs b/src/Web/DevHive.Web.Tests/LanguageController.Tests.cs
index af4672a..34f1fc5 100644
--- a/src/Web/DevHive.Web.Tests/LanguageController.Tests.cs
+++ b/src/Web/DevHive.Web.Tests/LanguageController.Tests.cs
@@ -1,6 +1,5 @@
using System;
using System.Linq;
-using System.Threading.Tasks;
using AutoMapper;
using DevHive.Services.Interfaces;
using DevHive.Services.Models.Language;
@@ -12,20 +11,20 @@ using NUnit.Framework;
namespace DevHive.Web.Tests
{
- [TestFixture]
+ [TestFixture]
public class LanguageControllerTests
{
const string NAME = "Gosho Trapov";
- private Mock<ILanguageService> LanguageServiceMock { get; set; }
- private Mock<IMapper> MapperMock { get; set; }
- private LanguageController LanguageController { get; set; }
+ private Mock<ILanguageService> _languageServiceMock;
+ private Mock<IMapper> _mapperMock;
+ private LanguageController _languageController;
[SetUp]
public void SetUp()
{
- this.LanguageServiceMock = new Mock<ILanguageService>();
- this.MapperMock = new Mock<IMapper>();
- this.LanguageController = new LanguageController(this.LanguageServiceMock.Object, this.MapperMock.Object);
+ this._languageServiceMock = new Mock<ILanguageService>();
+ this._mapperMock = new Mock<IMapper>();
+ this._languageController = new LanguageController(this._languageServiceMock.Object, this._mapperMock.Object);
}
#region Create
@@ -42,10 +41,14 @@ namespace DevHive.Web.Tests
};
Guid id = Guid.NewGuid();
- this.MapperMock.Setup(p => p.Map<CreateLanguageServiceModel>(It.IsAny<CreateLanguageWebModel>())).Returns(createLanguageServiceModel);
- this.LanguageServiceMock.Setup(p => p.CreateLanguage(It.IsAny<CreateLanguageServiceModel>())).Returns(Task.FromResult(id));
+ this._mapperMock
+ .Setup(p => p.Map<CreateLanguageServiceModel>(It.IsAny<CreateLanguageWebModel>()))
+ .Returns(createLanguageServiceModel);
+ this._languageServiceMock
+ .Setup(p => p.CreateLanguage(It.IsAny<CreateLanguageServiceModel>()))
+ .ReturnsAsync(id);
- IActionResult result = this.LanguageController.Create(createLanguageWebModel).Result;
+ IActionResult result = this._languageController.Create(createLanguageWebModel).Result;
Assert.IsInstanceOf<OkObjectResult>(result);
@@ -74,10 +77,14 @@ namespace DevHive.Web.Tests
Guid id = Guid.Empty;
string errorMessage = $"Could not create language {NAME}";
- this.MapperMock.Setup(p => p.Map<CreateLanguageServiceModel>(It.IsAny<CreateLanguageWebModel>())).Returns(createTechnologyServiceModel);
- this.LanguageServiceMock.Setup(p => p.CreateLanguage(It.IsAny<CreateLanguageServiceModel>())).Returns(Task.FromResult(id));
+ this._mapperMock
+ .Setup(p => p.Map<CreateLanguageServiceModel>(It.IsAny<CreateLanguageWebModel>()))
+ .Returns(createTechnologyServiceModel);
+ this._languageServiceMock
+ .Setup(p => p.CreateLanguage(It.IsAny<CreateLanguageServiceModel>()))
+ .ReturnsAsync(id);
- IActionResult result = this.LanguageController.Create(createTechnologyWebModel).Result;
+ IActionResult result = this._languageController.Create(createTechnologyWebModel).Result;
Assert.IsInstanceOf<BadRequestObjectResult>(result);
@@ -103,10 +110,14 @@ namespace DevHive.Web.Tests
Name = NAME
};
- this.LanguageServiceMock.Setup(p => p.GetLanguageById(It.IsAny<Guid>())).Returns(Task.FromResult(readLanguageServiceModel));
- this.MapperMock.Setup(p => p.Map<ReadLanguageWebModel>(It.IsAny<ReadLanguageServiceModel>())).Returns(readLanguageWebModel);
+ this._languageServiceMock
+ .Setup(p => p.GetLanguageById(It.IsAny<Guid>()))
+ .ReturnsAsync(readLanguageServiceModel);
+ this._mapperMock
+ .Setup(p => p.Map<ReadLanguageWebModel>(It.IsAny<ReadLanguageServiceModel>()))
+ .Returns(readLanguageWebModel);
- IActionResult result = this.LanguageController.GetById(id).Result;
+ IActionResult result = this._languageController.GetById(id).Result;
Assert.IsInstanceOf<OkObjectResult>(result);
@@ -131,10 +142,14 @@ namespace DevHive.Web.Tests
Name = NAME
};
- this.LanguageServiceMock.Setup(p => p.UpdateLanguage(It.IsAny<UpdateLanguageServiceModel>())).Returns(Task.FromResult(true));
- this.MapperMock.Setup(p => p.Map<UpdateLanguageServiceModel>(It.IsAny<UpdateLanguageWebModel>())).Returns(updateLanguageServiceModel);
+ this._languageServiceMock
+ .Setup(p => p.UpdateLanguage(It.IsAny<UpdateLanguageServiceModel>()))
+ .ReturnsAsync(true);
+ this._mapperMock
+ .Setup(p => p.Map<UpdateLanguageServiceModel>(It.IsAny<UpdateLanguageWebModel>()))
+ .Returns(updateLanguageServiceModel);
- IActionResult result = this.LanguageController.Update(id, updateLanguageWebModel).Result;
+ IActionResult result = this._languageController.Update(id, updateLanguageWebModel).Result;
Assert.IsInstanceOf<OkResult>(result);
}
@@ -153,10 +168,14 @@ namespace DevHive.Web.Tests
Name = NAME
};
- this.LanguageServiceMock.Setup(p => p.UpdateLanguage(It.IsAny<UpdateLanguageServiceModel>())).Returns(Task.FromResult(false));
- this.MapperMock.Setup(p => p.Map<UpdateLanguageServiceModel>(It.IsAny<UpdateLanguageWebModel>())).Returns(updateLanguageServiceModel);
+ this._languageServiceMock
+ .Setup(p => p.UpdateLanguage(It.IsAny<UpdateLanguageServiceModel>()))
+ .ReturnsAsync(false);
+ this._mapperMock
+ .Setup(p => p.Map<UpdateLanguageServiceModel>(It.IsAny<UpdateLanguageWebModel>()))
+ .Returns(updateLanguageServiceModel);
- IActionResult result = this.LanguageController.Update(id, updateLanguageWebModel).Result;
+ IActionResult result = this._languageController.Update(id, updateLanguageWebModel).Result;
Assert.IsInstanceOf<BadRequestObjectResult>(result);
BadRequestObjectResult badRequestObjectResult = result as BadRequestObjectResult;
@@ -172,9 +191,11 @@ namespace DevHive.Web.Tests
{
Guid id = Guid.NewGuid();
- this.LanguageServiceMock.Setup(p => p.DeleteLanguage(It.IsAny<Guid>())).Returns(Task.FromResult(true));
+ this._languageServiceMock
+ .Setup(p => p.DeleteLanguage(It.IsAny<Guid>()))
+ .ReturnsAsync(true);
- IActionResult result = this.LanguageController.Delete(id).Result;
+ IActionResult result = this._languageController.Delete(id).Result;
Assert.IsInstanceOf<OkResult>(result);
}
@@ -185,9 +206,11 @@ namespace DevHive.Web.Tests
string message = "Could not delete Language";
Guid id = Guid.NewGuid();
- this.LanguageServiceMock.Setup(p => p.DeleteLanguage(It.IsAny<Guid>())).Returns(Task.FromResult(false));
+ this._languageServiceMock
+ .Setup(p => p.DeleteLanguage(It.IsAny<Guid>()))
+ .ReturnsAsync(false);
- IActionResult result = this.LanguageController.Delete(id).Result;
+ IActionResult result = this._languageController.Delete(id).Result;
Assert.IsInstanceOf<BadRequestObjectResult>(result);
diff --git a/src/Web/DevHive.Web.Tests/PostController.Tests.cs b/src/Web/DevHive.Web.Tests/PostController.Tests.cs
index f10f8dd..93cce1d 100644
--- a/src/Web/DevHive.Web.Tests/PostController.Tests.cs
+++ b/src/Web/DevHive.Web.Tests/PostController.Tests.cs
@@ -1,7 +1,7 @@
using System;
using System.Linq;
-using System.Threading.Tasks;
using AutoMapper;
+using DevHive.Common.Jwt.Interfaces;
using DevHive.Services.Interfaces;
using DevHive.Services.Models.Post;
using DevHive.Web.Controllers;
@@ -12,20 +12,22 @@ using NUnit.Framework;
namespace DevHive.Web.Tests
{
- [TestFixture]
+ [TestFixture]
public class PostControllerTests
{
const string MESSAGE = "Gosho Trapov";
- private Mock<IPostService> PostServiceMock { get; set; }
- private Mock<IMapper> MapperMock { get; set; }
- private PostController PostController { get; set; }
+ private Mock<IPostService> _postServiceMock;
+ private Mock<IMapper> _mapperMock;
+ private Mock<IJwtService> _jwtServiceMock;
+ private PostController _postController;
[SetUp]
public void SetUp()
{
- this.PostServiceMock = new Mock<IPostService>();
- this.MapperMock = new Mock<IMapper>();
- this.PostController = new PostController(this.PostServiceMock.Object, this.MapperMock.Object);
+ this._postServiceMock = new Mock<IPostService>();
+ this._mapperMock = new Mock<IMapper>();
+ this._jwtServiceMock = new Mock<IJwtService>();
+ this._postController = new PostController(this._postServiceMock.Object, this._mapperMock.Object, this._jwtServiceMock.Object);
}
#region Create
@@ -42,11 +44,20 @@ namespace DevHive.Web.Tests
};
Guid id = Guid.NewGuid();
- this.MapperMock.Setup(p => p.Map<CreatePostServiceModel>(It.IsAny<CreatePostWebModel>())).Returns(createPostServiceModel);
- this.PostServiceMock.Setup(p => p.CreatePost(It.IsAny<CreatePostServiceModel>())).Returns(Task.FromResult(id));
- this.PostServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true));
-
- IActionResult result = this.PostController.Create(Guid.Empty, createPostWebModel, null).Result;
+ this._mapperMock
+ .Setup(p => p.Map<CreatePostServiceModel>(It.IsAny<CreatePostWebModel>()))
+ .Returns(createPostServiceModel);
+ this._postServiceMock
+ .Setup(p => p.CreatePost(It.IsAny<CreatePostServiceModel>()))
+ .ReturnsAsync(id);
+ this._jwtServiceMock
+ .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>()))
+ .Returns(true);
+ this._postServiceMock
+ .Setup(p => p.ValidateJwtForCreating(It.IsAny<Guid>(), It.IsAny<string>()))
+ .ReturnsAsync(true);
+
+ IActionResult result = this._postController.Create(Guid.Empty, createPostWebModel, null).Result;
Assert.IsInstanceOf<OkObjectResult>(result);
@@ -75,11 +86,20 @@ namespace DevHive.Web.Tests
Guid id = Guid.Empty;
string errorMessage = $"Could not create post!";
- this.MapperMock.Setup(p => p.Map<CreatePostServiceModel>(It.IsAny<CreatePostWebModel>())).Returns(createTechnologyServiceModel);
- this.PostServiceMock.Setup(p => p.CreatePost(It.IsAny<CreatePostServiceModel>())).Returns(Task.FromResult(id));
- this.PostServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true));
-
- IActionResult result = this.PostController.Create(Guid.Empty, createTechnologyWebModel, null).Result;
+ this._mapperMock
+ .Setup(p => p.Map<CreatePostServiceModel>(It.IsAny<CreatePostWebModel>()))
+ .Returns(createTechnologyServiceModel);
+ this._postServiceMock
+ .Setup(p => p.CreatePost(It.IsAny<CreatePostServiceModel>()))
+ .ReturnsAsync(id);
+ this._jwtServiceMock
+ .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>()))
+ .Returns(true);
+ this._postServiceMock
+ .Setup(p => p.ValidateJwtForCreating(It.IsAny<Guid>(), It.IsAny<string>()))
+ .ReturnsAsync(true);
+
+ IActionResult result = this._postController.Create(Guid.Empty, createTechnologyWebModel, null).Result;
Assert.IsInstanceOf<BadRequestObjectResult>(result);
@@ -97,9 +117,11 @@ namespace DevHive.Web.Tests
Message = MESSAGE
};
- this.PostServiceMock.Setup(p => p.ValidateJwtForCreating(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(false));
+ this._postServiceMock
+ .Setup(p => p.ValidateJwtForCreating(It.IsAny<Guid>(), It.IsAny<string>()))
+ .ReturnsAsync(false);
- IActionResult result = this.PostController.Create(Guid.NewGuid(), createPostWebModel, null).Result;
+ IActionResult result = this._postController.Create(Guid.NewGuid(), createPostWebModel, null).Result;
Assert.IsInstanceOf<UnauthorizedResult>(result);
}
@@ -120,10 +142,14 @@ namespace DevHive.Web.Tests
Message = MESSAGE
};
- this.PostServiceMock.Setup(p => p.GetPostById(It.IsAny<Guid>())).Returns(Task.FromResult(readPostServiceModel));
- this.MapperMock.Setup(p => p.Map<ReadPostWebModel>(It.IsAny<ReadPostServiceModel>())).Returns(readPostWebModel);
+ this._postServiceMock
+ .Setup(p => p.GetPostById(It.IsAny<Guid>()))
+ .ReturnsAsync(readPostServiceModel);
+ this._mapperMock
+ .Setup(p => p.Map<ReadPostWebModel>(It.IsAny<ReadPostServiceModel>()))
+ .Returns(readPostWebModel);
- IActionResult result = this.PostController.GetById(id).Result;
+ IActionResult result = this._postController.GetById(id).Result;
Assert.IsInstanceOf<OkObjectResult>(result);
@@ -148,11 +174,20 @@ namespace DevHive.Web.Tests
NewMessage = MESSAGE
};
- this.PostServiceMock.Setup(p => p.UpdatePost(It.IsAny<UpdatePostServiceModel>())).Returns(Task.FromResult(id));
- this.MapperMock.Setup(p => p.Map<UpdatePostServiceModel>(It.IsAny<UpdatePostWebModel>())).Returns(updatePostServiceModel);
- this.PostServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true));
-
- IActionResult result = this.PostController.Update(id, updatePostWebModel, null).Result;
+ this._postServiceMock
+ .Setup(p => p.UpdatePost(It.IsAny<UpdatePostServiceModel>()))
+ .ReturnsAsync(id);
+ this._mapperMock
+ .Setup(p => p.Map<UpdatePostServiceModel>(It.IsAny<UpdatePostWebModel>()))
+ .Returns(updatePostServiceModel);
+ this._jwtServiceMock
+ .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>()))
+ .Returns(true);
+ this._postServiceMock
+ .Setup(p => p.ValidateJwtForPost(It.IsAny<Guid>(), It.IsAny<string>()))
+ .ReturnsAsync(true);
+
+ IActionResult result = this._postController.Update(id, updatePostWebModel, null).Result;
Assert.IsInstanceOf<OkObjectResult>(result);
}
@@ -171,11 +206,20 @@ namespace DevHive.Web.Tests
NewMessage = MESSAGE
};
- this.PostServiceMock.Setup(p => p.UpdatePost(It.IsAny<UpdatePostServiceModel>())).Returns(Task.FromResult(Guid.Empty));
- this.MapperMock.Setup(p => p.Map<UpdatePostServiceModel>(It.IsAny<UpdatePostWebModel>())).Returns(updatePostServiceModel);
- this.PostServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true));
-
- IActionResult result = this.PostController.Update(id, updatePostWebModel, null).Result;
+ this._postServiceMock
+ .Setup(p => p.UpdatePost(It.IsAny<UpdatePostServiceModel>()))
+ .ReturnsAsync(Guid.Empty);
+ this._mapperMock
+ .Setup(p => p.Map<UpdatePostServiceModel>(It.IsAny<UpdatePostWebModel>()))
+ .Returns(updatePostServiceModel);
+ this._jwtServiceMock
+ .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>()))
+ .Returns(true);
+ this._postServiceMock
+ .Setup(p => p.ValidateJwtForPost(It.IsAny<Guid>(), It.IsAny<string>()))
+ .ReturnsAsync(true);
+
+ IActionResult result = this._postController.Update(id, updatePostWebModel, null).Result;
Assert.IsInstanceOf<BadRequestObjectResult>(result);
BadRequestObjectResult badRequestObjectResult = result as BadRequestObjectResult;
@@ -192,9 +236,11 @@ namespace DevHive.Web.Tests
NewMessage = MESSAGE
};
- this.PostServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(false));
+ this._postServiceMock
+ .Setup(p => p.ValidateJwtForPost(It.IsAny<Guid>(), It.IsAny<string>()))
+ .ReturnsAsync(false);
- IActionResult result = this.PostController.Update(Guid.Empty, updatePostWebModel, null).Result;
+ IActionResult result = this._postController.Update(Guid.Empty, updatePostWebModel, null).Result;
Assert.IsInstanceOf<UnauthorizedResult>(result);
}
@@ -206,10 +252,17 @@ namespace DevHive.Web.Tests
{
Guid id = Guid.NewGuid();
- this.PostServiceMock.Setup(p => p.DeletePost(It.IsAny<Guid>())).Returns(Task.FromResult(true));
- this.PostServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true));
+ this._postServiceMock
+ .Setup(p => p.DeletePost(It.IsAny<Guid>()))
+ .ReturnsAsync(true);
+ this._jwtServiceMock
+ .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>()))
+ .Returns(true);
+ this._postServiceMock
+ .Setup(p => p.ValidateJwtForPost(It.IsAny<Guid>(), It.IsAny<string>()))
+ .ReturnsAsync(true);
- IActionResult result = this.PostController.Delete(id, null).Result;
+ IActionResult result = this._postController.Delete(id, null).Result;
Assert.IsInstanceOf<OkResult>(result);
}
@@ -220,10 +273,17 @@ namespace DevHive.Web.Tests
string message = "Could not delete Post";
Guid id = Guid.NewGuid();
- this.PostServiceMock.Setup(p => p.DeletePost(It.IsAny<Guid>())).Returns(Task.FromResult(false));
- this.PostServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true));
+ this._postServiceMock
+ .Setup(p => p.DeletePost(It.IsAny<Guid>()))
+ .ReturnsAsync(false);
+ this._jwtServiceMock
+ .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>()))
+ .Returns(true);
+ this._postServiceMock
+ .Setup(p => p.ValidateJwtForPost(It.IsAny<Guid>(), It.IsAny<string>()))
+ .ReturnsAsync(true);
- IActionResult result = this.PostController.Delete(id, null).Result;
+ IActionResult result = this._postController.Delete(id, null).Result;
Assert.IsInstanceOf<BadRequestObjectResult>(result);
@@ -236,9 +296,11 @@ namespace DevHive.Web.Tests
[Test]
public void DeletePost_ReturnsUnauthorizedResult_WhenUserIsNotAuthorized()
{
- this.PostServiceMock.Setup(p => p.ValidateJwtForPost(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(false));
+ this._postServiceMock
+ .Setup(p => p.ValidateJwtForPost(It.IsAny<Guid>(), It.IsAny<string>()))
+ .ReturnsAsync(false);
- IActionResult result = this.PostController.Delete(Guid.Empty, null).Result;
+ IActionResult result = this._postController.Delete(Guid.Empty, null).Result;
Assert.IsInstanceOf<UnauthorizedResult>(result);
}
diff --git a/src/Web/DevHive.Web.Tests/RoleController.Tests.cs b/src/Web/DevHive.Web.Tests/RoleController.Tests.cs
index ff80dc0..0e19221 100644
--- a/src/Web/DevHive.Web.Tests/RoleController.Tests.cs
+++ b/src/Web/DevHive.Web.Tests/RoleController.Tests.cs
@@ -1,6 +1,5 @@
using System;
using System.Linq;
-using System.Threading.Tasks;
using AutoMapper;
using DevHive.Services.Interfaces;
using DevHive.Services.Models.Role;
@@ -12,20 +11,20 @@ using NUnit.Framework;
namespace DevHive.Web.Tests
{
- [TestFixture]
+ [TestFixture]
public class RoleControllerTests
{
const string NAME = "Gosho Trapov";
- private Mock<IRoleService> RoleServiceMock { get; set; }
- private Mock<IMapper> MapperMock { get; set; }
- private RoleController RoleController { get; set; }
+ private Mock<IRoleService> _roleServiceMock;
+ private Mock<IMapper> _mapperMock;
+ private RoleController _roleController;
[SetUp]
public void SetUp()
{
- this.RoleServiceMock = new Mock<IRoleService>();
- this.MapperMock = new Mock<IMapper>();
- this.RoleController = new RoleController(this.RoleServiceMock.Object, this.MapperMock.Object);
+ this._roleServiceMock = new Mock<IRoleService>();
+ this._mapperMock = new Mock<IMapper>();
+ this._roleController = new RoleController(this._roleServiceMock.Object, this._mapperMock.Object);
}
#region Create
@@ -42,10 +41,14 @@ namespace DevHive.Web.Tests
};
Guid id = Guid.NewGuid();
- this.MapperMock.Setup(p => p.Map<CreateRoleServiceModel>(It.IsAny<CreateRoleWebModel>())).Returns(createRoleServiceModel);
- this.RoleServiceMock.Setup(p => p.CreateRole(It.IsAny<CreateRoleServiceModel>())).Returns(Task.FromResult(id));
+ this._mapperMock
+ .Setup(p => p.Map<CreateRoleServiceModel>(It.IsAny<CreateRoleWebModel>()))
+ .Returns(createRoleServiceModel);
+ this._roleServiceMock
+ .Setup(p => p.CreateRole(It.IsAny<CreateRoleServiceModel>()))
+ .ReturnsAsync(id);
- IActionResult result = this.RoleController.Create(createRoleWebModel).Result;
+ IActionResult result = this._roleController.Create(createRoleWebModel).Result;
Assert.IsInstanceOf<OkObjectResult>(result);
@@ -74,10 +77,14 @@ namespace DevHive.Web.Tests
Guid id = Guid.Empty;
string errorMessage = $"Could not create role {NAME}";
- this.MapperMock.Setup(p => p.Map<CreateRoleServiceModel>(It.IsAny<CreateRoleWebModel>())).Returns(createTechnologyServiceModel);
- this.RoleServiceMock.Setup(p => p.CreateRole(It.IsAny<CreateRoleServiceModel>())).Returns(Task.FromResult(id));
+ this._mapperMock
+ .Setup(p => p.Map<CreateRoleServiceModel>(It.IsAny<CreateRoleWebModel>()))
+ .Returns(createTechnologyServiceModel);
+ this._roleServiceMock
+ .Setup(p => p.CreateRole(It.IsAny<CreateRoleServiceModel>()))
+ .ReturnsAsync(id);
- IActionResult result = this.RoleController.Create(createTechnologyWebModel).Result;
+ IActionResult result = this._roleController.Create(createTechnologyWebModel).Result;
Assert.IsInstanceOf<BadRequestObjectResult>(result);
@@ -103,10 +110,14 @@ namespace DevHive.Web.Tests
Name = NAME
};
- this.RoleServiceMock.Setup(p => p.GetRoleById(It.IsAny<Guid>())).Returns(Task.FromResult(roleServiceModel));
- this.MapperMock.Setup(p => p.Map<RoleWebModel>(It.IsAny<RoleServiceModel>())).Returns(roleWebModel);
+ this._roleServiceMock
+ .Setup(p => p.GetRoleById(It.IsAny<Guid>()))
+ .ReturnsAsync(roleServiceModel);
+ this._mapperMock
+ .Setup(p => p.Map<RoleWebModel>(It.IsAny<RoleServiceModel>()))
+ .Returns(roleWebModel);
- IActionResult result = this.RoleController.GetById(id).Result;
+ IActionResult result = this._roleController.GetById(id).Result;
Assert.IsInstanceOf<OkObjectResult>(result);
@@ -131,10 +142,14 @@ namespace DevHive.Web.Tests
Name = NAME
};
- this.RoleServiceMock.Setup(p => p.UpdateRole(It.IsAny<UpdateRoleServiceModel>())).Returns(Task.FromResult(true));
- this.MapperMock.Setup(p => p.Map<UpdateRoleServiceModel>(It.IsAny<UpdateRoleWebModel>())).Returns(updateRoleServiceModel);
+ this._roleServiceMock
+ .Setup(p => p.UpdateRole(It.IsAny<UpdateRoleServiceModel>()))
+ .ReturnsAsync(true);
+ this._mapperMock
+ .Setup(p => p.Map<UpdateRoleServiceModel>(It.IsAny<UpdateRoleWebModel>()))
+ .Returns(updateRoleServiceModel);
- IActionResult result = this.RoleController.Update(id, updateRoleWebModel).Result;
+ IActionResult result = this._roleController.Update(id, updateRoleWebModel).Result;
Assert.IsInstanceOf<OkResult>(result);
}
@@ -153,10 +168,14 @@ namespace DevHive.Web.Tests
Name = NAME
};
- this.RoleServiceMock.Setup(p => p.UpdateRole(It.IsAny<UpdateRoleServiceModel>())).Returns(Task.FromResult(false));
- this.MapperMock.Setup(p => p.Map<UpdateRoleServiceModel>(It.IsAny<UpdateRoleWebModel>())).Returns(updateRoleServiceModel);
+ this._roleServiceMock
+ .Setup(p => p.UpdateRole(It.IsAny<UpdateRoleServiceModel>()))
+ .ReturnsAsync(false);
+ this._mapperMock
+ .Setup(p => p.Map<UpdateRoleServiceModel>(It.IsAny<UpdateRoleWebModel>()))
+ .Returns(updateRoleServiceModel);
- IActionResult result = this.RoleController.Update(id, updateRoleWebModel).Result;
+ IActionResult result = this._roleController.Update(id, updateRoleWebModel).Result;
Assert.IsInstanceOf<BadRequestObjectResult>(result);
BadRequestObjectResult badRequestObjectResult = result as BadRequestObjectResult;
@@ -172,22 +191,26 @@ namespace DevHive.Web.Tests
{
Guid id = Guid.NewGuid();
- this.RoleServiceMock.Setup(p => p.DeleteRole(It.IsAny<Guid>())).Returns(Task.FromResult(true));
+ this._roleServiceMock
+ .Setup(p => p.DeleteRole(It.IsAny<Guid>()))
+ .ReturnsAsync(true);
- IActionResult result = this.RoleController.Delete(id).Result;
+ IActionResult result = this._roleController.Delete(id).Result;
Assert.IsInstanceOf<OkResult>(result);
}
[Test]
- public void Delet_ReturnsBadRequestObjectResult_WhenRoleIsNotDeletedSuccessfully()
+ public void Delete_ReturnsBadRequestObjectResult_WhenRoleIsNotDeletedSuccessfully()
{
string message = "Could not delete role!";
Guid id = Guid.NewGuid();
- this.RoleServiceMock.Setup(p => p.DeleteRole(It.IsAny<Guid>())).Returns(Task.FromResult(false));
+ this._roleServiceMock
+ .Setup(p => p.DeleteRole(It.IsAny<Guid>()))
+ .ReturnsAsync(false);
- IActionResult result = this.RoleController.Delete(id).Result;
+ IActionResult result = this._roleController.Delete(id).Result;
Assert.IsInstanceOf<BadRequestObjectResult>(result);
diff --git a/src/Web/DevHive.Web.Tests/TechnologyController.Tests.cs b/src/Web/DevHive.Web.Tests/TechnologyController.Tests.cs
index a00f1db..06e1ea2 100644
--- a/src/Web/DevHive.Web.Tests/TechnologyController.Tests.cs
+++ b/src/Web/DevHive.Web.Tests/TechnologyController.Tests.cs
@@ -1,5 +1,4 @@
using AutoMapper;
-using DevHive.Common.Models.Misc;
using DevHive.Services.Interfaces;
using DevHive.Services.Models.Technology;
using DevHive.Web.Controllers;
@@ -9,25 +8,24 @@ using Moq;
using NUnit.Framework;
using System;
using System.Linq;
-using System.Threading.Tasks;
namespace DevHive.Web.Tests
{
- [TestFixture]
+ [TestFixture]
public class TechnologyControllerTests
{
const string NAME = "Gosho Trapov";
- private Mock<ITechnologyService> TechnologyServiceMock { get; set; }
- private Mock<IMapper> MapperMock { get; set; }
- private TechnologyController TechnologyController { get; set; }
+ private Mock<ITechnologyService> _technologyServiceMock;
+ private Mock<IMapper> _mapperMock;
+ private TechnologyController _technologyController;
#region SetUp
[SetUp]
public void SetUp()
{
- this.TechnologyServiceMock = new Mock<ITechnologyService>();
- this.MapperMock = new Mock<IMapper>();
- this.TechnologyController = new TechnologyController(this.TechnologyServiceMock.Object, this.MapperMock.Object);
+ this._technologyServiceMock = new Mock<ITechnologyService>();
+ this._mapperMock = new Mock<IMapper>();
+ this._technologyController = new TechnologyController(this._technologyServiceMock.Object, this._mapperMock.Object);
}
#endregion
@@ -45,10 +43,14 @@ namespace DevHive.Web.Tests
};
Guid id = Guid.NewGuid();
- this.MapperMock.Setup(p => p.Map<CreateTechnologyServiceModel>(It.IsAny<CreateTechnologyWebModel>())).Returns(createTechnologyServiceModel);
- this.TechnologyServiceMock.Setup(p => p.CreateTechnology(It.IsAny<CreateTechnologyServiceModel>())).Returns(Task.FromResult(id));
+ this._mapperMock
+ .Setup(p => p.Map<CreateTechnologyServiceModel>(It.IsAny<CreateTechnologyWebModel>()))
+ .Returns(createTechnologyServiceModel);
+ this._technologyServiceMock
+ .Setup(p => p.CreateTechnology(It.IsAny<CreateTechnologyServiceModel>()))
+ .ReturnsAsync(id);
- IActionResult result = this.TechnologyController.Create(createTechnologyWebModel).Result;
+ IActionResult result = this._technologyController.Create(createTechnologyWebModel).Result;
Assert.IsInstanceOf<OkObjectResult>(result);
@@ -77,10 +79,14 @@ namespace DevHive.Web.Tests
Guid id = Guid.Empty;
string errorMessage = $"Could not create technology {NAME}";
- this.MapperMock.Setup(p => p.Map<CreateTechnologyServiceModel>(It.IsAny<CreateTechnologyWebModel>())).Returns(createTechnologyServiceModel);
- this.TechnologyServiceMock.Setup(p => p.CreateTechnology(It.IsAny<CreateTechnologyServiceModel>())).Returns(Task.FromResult(id));
+ this._mapperMock
+ .Setup(p => p.Map<CreateTechnologyServiceModel>(It.IsAny<CreateTechnologyWebModel>()))
+ .Returns(createTechnologyServiceModel);
+ this._technologyServiceMock
+ .Setup(p => p.CreateTechnology(It.IsAny<CreateTechnologyServiceModel>()))
+ .ReturnsAsync(id);
- IActionResult result = this.TechnologyController.Create(createTechnologyWebModel).Result;
+ IActionResult result = this._technologyController.Create(createTechnologyWebModel).Result;
Assert.IsInstanceOf<BadRequestObjectResult>(result);
@@ -106,10 +112,14 @@ namespace DevHive.Web.Tests
Name = NAME
};
- this.TechnologyServiceMock.Setup(p => p.GetTechnologyById(It.IsAny<Guid>())).Returns(Task.FromResult(readTechnologyServiceModel));
- this.MapperMock.Setup(p => p.Map<ReadTechnologyWebModel>(It.IsAny<ReadTechnologyServiceModel>())).Returns(readTechnologyWebModel);
+ this._technologyServiceMock
+ .Setup(p => p.GetTechnologyById(It.IsAny<Guid>()))
+ .ReturnsAsync(readTechnologyServiceModel);
+ this._mapperMock
+ .Setup(p => p.Map<ReadTechnologyWebModel>(It.IsAny<ReadTechnologyServiceModel>()))
+ .Returns(readTechnologyWebModel);
- IActionResult result = this.TechnologyController.GetById(id).Result;
+ IActionResult result = this._technologyController.GetById(id).Result;
Assert.IsInstanceOf<OkObjectResult>(result);
@@ -134,10 +144,14 @@ namespace DevHive.Web.Tests
Name = NAME
};
- this.TechnologyServiceMock.Setup(p => p.UpdateTechnology(It.IsAny<UpdateTechnologyServiceModel>())).Returns(Task.FromResult(true));
- this.MapperMock.Setup(p => p.Map<UpdateTechnologyServiceModel>(It.IsAny<UpdateTechnologyWebModel>())).Returns(updateTechnologyServiceModel);
+ this._technologyServiceMock
+ .Setup(p => p.UpdateTechnology(It.IsAny<UpdateTechnologyServiceModel>()))
+ .ReturnsAsync(true);
+ this._mapperMock
+ .Setup(p => p.Map<UpdateTechnologyServiceModel>(It.IsAny<UpdateTechnologyWebModel>()))
+ .Returns(updateTechnologyServiceModel);
- IActionResult result = this.TechnologyController.Update(id, updateTechnologyWebModel).Result;
+ IActionResult result = this._technologyController.Update(id, updateTechnologyWebModel).Result;
Assert.IsInstanceOf<OkResult>(result);
}
@@ -156,10 +170,14 @@ namespace DevHive.Web.Tests
Name = NAME
};
- this.TechnologyServiceMock.Setup(p => p.UpdateTechnology(It.IsAny<UpdateTechnologyServiceModel>())).Returns(Task.FromResult(false));
- this.MapperMock.Setup(p => p.Map<UpdateTechnologyServiceModel>(It.IsAny<UpdateTechnologyWebModel>())).Returns(updateTechnologyServiceModel);
+ this._technologyServiceMock
+ .Setup(p => p.UpdateTechnology(It.IsAny<UpdateTechnologyServiceModel>()))
+ .ReturnsAsync(false);
+ this._mapperMock
+ .Setup(p => p.Map<UpdateTechnologyServiceModel>(It.IsAny<UpdateTechnologyWebModel>()))
+ .Returns(updateTechnologyServiceModel);
- IActionResult result = this.TechnologyController.Update(id, updateTechnologyWebModel).Result;
+ IActionResult result = this._technologyController.Update(id, updateTechnologyWebModel).Result;
Assert.IsInstanceOf<BadRequestObjectResult>(result);
BadRequestObjectResult badRequestObjectResult = result as BadRequestObjectResult;
@@ -175,9 +193,11 @@ namespace DevHive.Web.Tests
{
Guid id = Guid.NewGuid();
- this.TechnologyServiceMock.Setup(p => p.DeleteTechnology(It.IsAny<Guid>())).Returns(Task.FromResult(true));
+ this._technologyServiceMock
+ .Setup(p => p.DeleteTechnology(It.IsAny<Guid>()))
+ .ReturnsAsync(true);
- IActionResult result = this.TechnologyController.Delete(id).Result;
+ IActionResult result = this._technologyController.Delete(id).Result;
Assert.IsInstanceOf<OkResult>(result);
}
@@ -188,9 +208,11 @@ namespace DevHive.Web.Tests
string message = "Could not delete Technology";
Guid id = Guid.NewGuid();
- this.TechnologyServiceMock.Setup(p => p.DeleteTechnology(It.IsAny<Guid>())).Returns(Task.FromResult(false));
+ this._technologyServiceMock
+ .Setup(p => p.DeleteTechnology(It.IsAny<Guid>()))
+ .ReturnsAsync(false);
- IActionResult result = this.TechnologyController.Delete(id).Result;
+ IActionResult result = this._technologyController.Delete(id).Result;
Assert.IsInstanceOf<BadRequestObjectResult>(result);
diff --git a/src/Web/DevHive.Web.Tests/UserController.Tests.cs b/src/Web/DevHive.Web.Tests/UserController.Tests.cs
index e12738e..10d3c6b 100644
--- a/src/Web/DevHive.Web.Tests/UserController.Tests.cs
+++ b/src/Web/DevHive.Web.Tests/UserController.Tests.cs
@@ -1,6 +1,6 @@
using System;
-using System.Threading.Tasks;
using AutoMapper;
+using DevHive.Common.Jwt.Interfaces;
using DevHive.Common.Models.Identity;
using DevHive.Services.Interfaces;
using DevHive.Services.Models.User;
@@ -12,20 +12,22 @@ using NUnit.Framework;
namespace DevHive.Web.Tests
{
- [TestFixture]
+ [TestFixture]
public class UserControllerTests
{
const string USERNAME = "Gosho Trapov";
- private Mock<IUserService> UserServiceMock { get; set; }
- private Mock<IMapper> MapperMock { get; set; }
- private UserController UserController { get; set; }
+ private Mock<IUserService> _userServiceMock;
+ private Mock<IMapper> _mapperMock;
+ private Mock<IJwtService> _jwtServiceMock;
+ private UserController _userController;
[SetUp]
public void SetUp()
{
- this.UserServiceMock = new Mock<IUserService>();
- this.MapperMock = new Mock<IMapper>();
- this.UserController = new UserController(this.UserServiceMock.Object, this.MapperMock.Object);
+ this._userServiceMock = new Mock<IUserService>();
+ this._mapperMock = new Mock<IMapper>();
+ this._jwtServiceMock = new Mock<IJwtService>();
+ this._userController = new UserController(this._userServiceMock.Object, this._mapperMock.Object, this._jwtServiceMock.Object);
}
#region Create
@@ -44,11 +46,17 @@ namespace DevHive.Web.Tests
TokenModel tokenModel = new(token);
TokenWebModel tokenWebModel = new(token);
- this.MapperMock.Setup(p => p.Map<LoginServiceModel>(It.IsAny<LoginWebModel>())).Returns(loginServiceModel);
- this.MapperMock.Setup(p => p.Map<TokenWebModel>(It.IsAny<TokenModel>())).Returns(tokenWebModel);
- this.UserServiceMock.Setup(p => p.LoginUser(It.IsAny<LoginServiceModel>())).Returns(Task.FromResult(tokenModel));
+ this._mapperMock
+ .Setup(p => p.Map<LoginServiceModel>(It.IsAny<LoginWebModel>()))
+ .Returns(loginServiceModel);
+ this._mapperMock
+ .Setup(p => p.Map<TokenWebModel>(It.IsAny<TokenModel>()))
+ .Returns(tokenWebModel);
+ this._userServiceMock
+ .Setup(p => p.LoginUser(It.IsAny<LoginServiceModel>()))
+ .ReturnsAsync(tokenModel);
- IActionResult result = this.UserController.Login(loginWebModel).Result;
+ IActionResult result = this._userController.Login(loginWebModel).Result;
Assert.IsInstanceOf<OkObjectResult>(result);
@@ -72,11 +80,17 @@ namespace DevHive.Web.Tests
TokenModel tokenModel = new(token);
TokenWebModel tokenWebModel = new(token);
- this.MapperMock.Setup(p => p.Map<RegisterServiceModel>(It.IsAny<RegisterWebModel>())).Returns(registerServiceModel);
- this.MapperMock.Setup(p => p.Map<TokenWebModel>(It.IsAny<TokenModel>())).Returns(tokenWebModel);
- this.UserServiceMock.Setup(p => p.RegisterUser(It.IsAny<RegisterServiceModel>())).Returns(Task.FromResult(tokenModel));
+ this._mapperMock
+ .Setup(p => p.Map<RegisterServiceModel>(It.IsAny<RegisterWebModel>()))
+ .Returns(registerServiceModel);
+ this._mapperMock
+ .Setup(p => p.Map<TokenWebModel>(It.IsAny<TokenModel>()))
+ .Returns(tokenWebModel);
+ this._userServiceMock
+ .Setup(p => p.RegisterUser(It.IsAny<RegisterServiceModel>()))
+ .ReturnsAsync(tokenModel);
- IActionResult result = this.UserController.Register(registerWebModel).Result;
+ IActionResult result = this._userController.Register(registerWebModel).Result;
Assert.IsInstanceOf<CreatedResult>(result);
@@ -102,11 +116,17 @@ namespace DevHive.Web.Tests
UserName = USERNAME
};
- this.UserServiceMock.Setup(p => p.GetUserById(It.IsAny<Guid>())).Returns(Task.FromResult(userServiceModel));
- this.UserServiceMock.Setup(p => p.ValidJWT(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true));
- this.MapperMock.Setup(p => p.Map<UserWebModel>(It.IsAny<UserServiceModel>())).Returns(userWebModel);
+ this._userServiceMock
+ .Setup(p => p.GetUserById(It.IsAny<Guid>()))
+ .ReturnsAsync(userServiceModel);
+ this._jwtServiceMock
+ .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>()))
+ .Returns(true);
+ this._mapperMock
+ .Setup(p => p.Map<UserWebModel>(It.IsAny<UserServiceModel>()))
+ .Returns(userWebModel);
- IActionResult result = this.UserController.GetById(id, null).Result;
+ IActionResult result = this._userController.GetById(id, null).Result;
Assert.IsInstanceOf<OkObjectResult>(result);
@@ -119,9 +139,11 @@ namespace DevHive.Web.Tests
[Test]
public void GetById_ReturnsUnauthorizedResult_WhenUserIsNotAuthorized()
{
- this.UserServiceMock.Setup(p => p.ValidJWT(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(false));
+ this._jwtServiceMock
+ .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>()))
+ .Returns(false);
- IActionResult result = this.UserController.GetById(Guid.NewGuid(), null).Result;
+ IActionResult result = this._userController.GetById(Guid.NewGuid(), null).Result;
Assert.IsInstanceOf<UnauthorizedResult>(result);
}
@@ -138,10 +160,14 @@ namespace DevHive.Web.Tests
UserName = USERNAME
};
- this.UserServiceMock.Setup(p => p.GetUserByUsername(It.IsAny<string>())).Returns(Task.FromResult(userServiceModel));
- this.MapperMock.Setup(p => p.Map<UserWebModel>(It.IsAny<UserServiceModel>())).Returns(userWebModel);
+ this._userServiceMock
+ .Setup(p => p.GetUserByUsername(It.IsAny<string>()))
+ .ReturnsAsync(userServiceModel);
+ this._mapperMock
+ .Setup(p => p.Map<UserWebModel>(It.IsAny<UserServiceModel>()))
+ .Returns(userWebModel);
- IActionResult result = this.UserController.GetUser(null).Result;
+ IActionResult result = this._userController.GetUser(null).Result;
Assert.IsInstanceOf<OkObjectResult>(result);
@@ -170,45 +196,20 @@ namespace DevHive.Web.Tests
UserName = USERNAME
};
- this.UserServiceMock.Setup(p => p.UpdateUser(It.IsAny<UpdateUserServiceModel>())).Returns(Task.FromResult(userServiceModel));
- this.UserServiceMock.Setup(p => p.ValidJWT(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true));
- this.MapperMock.Setup(p => p.Map<UpdateUserServiceModel>(It.IsAny<UpdateUserWebModel>())).Returns(updateUserServiceModel);
+ this._userServiceMock
+ .Setup(p => p.UpdateUser(It.IsAny<UpdateUserServiceModel>()))
+ .ReturnsAsync(userServiceModel);
+ this._jwtServiceMock
+ .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>()))
+ .Returns(true);
+ this._mapperMock
+ .Setup(p => p.Map<UpdateUserServiceModel>(It.IsAny<UpdateUserWebModel>()))
+ .Returns(updateUserServiceModel);
- IActionResult result = this.UserController.Update(id, updateUserWebModel, null).Result;
+ IActionResult result = this._userController.Update(id, updateUserWebModel, null).Result;
Assert.IsInstanceOf<AcceptedResult>(result);
}
-
- [Test]
- public void UpdateProfilePicture_ShouldReturnOkObjectResult_WhenProfilePictureIsUpdatedSuccessfully()
- {
- string profilePictureURL = "goshotrapov";
- UpdateProfilePictureWebModel updateProfilePictureWebModel = new();
- UpdateProfilePictureServiceModel updateProfilePictureServiceModel = new();
- ProfilePictureServiceModel profilePictureServiceModel = new()
- {
- ProfilePictureURL = profilePictureURL
- };
- ProfilePictureWebModel profilePictureWebModel = new()
- {
- ProfilePictureURL = profilePictureURL
- };
-
- this.UserServiceMock.Setup(p => p.ValidJWT(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true));
- this.MapperMock.Setup(p => p.Map<UpdateProfilePictureServiceModel>(It.IsAny<UpdateProfilePictureWebModel>())).Returns(updateProfilePictureServiceModel);
- this.UserServiceMock.Setup(p => p.UpdateProfilePicture(It.IsAny<UpdateProfilePictureServiceModel>())).Returns(Task.FromResult(profilePictureServiceModel));
- this.MapperMock.Setup(p => p.Map<ProfilePictureWebModel>(It.IsAny<ProfilePictureServiceModel>())).Returns(profilePictureWebModel);
-
-
- IActionResult result = this.UserController.UpdateProfilePicture(Guid.Empty, updateProfilePictureWebModel, null).Result;
-
- Assert.IsInstanceOf<AcceptedResult>(result);
-
- AcceptedResult acceptedResult = result as AcceptedResult;
- ProfilePictureWebModel resultModel = acceptedResult.Value as ProfilePictureWebModel;
-
- Assert.AreEqual(profilePictureURL, resultModel.ProfilePictureURL);
- }
#endregion
#region Delete
@@ -217,10 +218,14 @@ namespace DevHive.Web.Tests
{
Guid id = Guid.NewGuid();
- this.UserServiceMock.Setup(p => p.ValidJWT(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true));
- this.UserServiceMock.Setup(p => p.DeleteUser(It.IsAny<Guid>())).Returns(Task.FromResult(true));
+ this._jwtServiceMock
+ .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>()))
+ .Returns(true);
+ this._userServiceMock
+ .Setup(p => p.DeleteUser(It.IsAny<Guid>()))
+ .ReturnsAsync(true);
- IActionResult result = this.UserController.Delete(id, null).Result;
+ IActionResult result = this._userController.Delete(id, null).Result;
Assert.IsInstanceOf<OkResult>(result);
}
@@ -231,10 +236,14 @@ namespace DevHive.Web.Tests
string message = "Could not delete User";
Guid id = Guid.NewGuid();
- this.UserServiceMock.Setup(p => p.ValidJWT(It.IsAny<Guid>(), It.IsAny<string>())).Returns(Task.FromResult(true));
- this.UserServiceMock.Setup(p => p.DeleteUser(It.IsAny<Guid>())).Returns(Task.FromResult(false));
+ this._jwtServiceMock
+ .Setup(p => p.ValidateToken(It.IsAny<Guid>(), It.IsAny<string>()))
+ .Returns(true);
+ this._userServiceMock
+ .Setup(p => p.DeleteUser(It.IsAny<Guid>()))
+ .ReturnsAsync(false);
- IActionResult result = this.UserController.Delete(id, null).Result;
+ IActionResult result = this._userController.Delete(id, null).Result;
Assert.IsInstanceOf<BadRequestObjectResult>(result);