aboutsummaryrefslogtreecommitdiff
path: root/src/Data/DevHive.Data.Tests/UserRepositoryTests.cs
diff options
context:
space:
mode:
authortranstrike <transtrike@gmail.com>2021-02-22 21:51:41 +0200
committertranstrike <transtrike@gmail.com>2021-02-22 21:51:41 +0200
commit503a23c04355624b133161c9356b139f2e4500f6 (patch)
tree261eaaa4b4a57558addd31a81fcb0194203a9ec7 /src/Data/DevHive.Data.Tests/UserRepositoryTests.cs
parent1d2f0ea1665b6eb2d9cc3334841318a39ab41e0e (diff)
downloadDevHive-unit_test_refactoring.tar
DevHive-unit_test_refactoring.tar.gz
DevHive-unit_test_refactoring.zip
Code cleanup of UserTestsunit_test_refactoring
Diffstat (limited to 'src/Data/DevHive.Data.Tests/UserRepositoryTests.cs')
-rw-r--r--src/Data/DevHive.Data.Tests/UserRepositoryTests.cs183
1 files changed, 49 insertions, 134 deletions
diff --git a/src/Data/DevHive.Data.Tests/UserRepositoryTests.cs b/src/Data/DevHive.Data.Tests/UserRepositoryTests.cs
index 5f84e34..4ff5ef7 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
@@ -19,54 +21,46 @@ namespace DevHive.Data.Tests
[SetUp]
public void Setup()
{
- var options = new DbContextOptionsBuilder<DevHiveContext>()
+ DbContextOptionsBuilder<DevHiveContext> options = new DbContextOptionsBuilder<DevHiveContext>()
.UseInMemoryDatabase("DevHive_UserRepository_Database");
-
this._context = new DevHiveContext(options.Options);
- this._userRepository = new UserRepository(_context);
+
+ 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();
+ _ = await this._context.Database.EnsureDeletedAsync();
}
#endregion
- #region QueryAll
- // [Test]
- // public async Task QueryAll_ShouldReturnAllUsersFromDatabase_WhenTheyExist()
- // {
- // //Arrange
- // User dummyUserOne = CreateDummyUser();
- // User dummyUserTwo = CreateAnotherDummyUser();
- //
- // await this._userRepository.AddAsync(dummyUserOne);
- // await this._userRepository.AddAsync(dummyUserTwo);
- //
- // //Act
- // IEnumerable<User> users = this._userRepository.QueryAll();
- //
- // //Assert
- // Assert.AreEqual(2, users.Count(), "Method doesn't return all instances of user");
- // }
-
- // [Test]
- // public void QueryAll_ReturnsNull_WhenNoUsersExist()
- // {
- // IEnumerable<User> users = this._userRepository.QueryAll();
- //
- // Assert.AreEqual(0, users.Count(), "Method returns Users when there are non");
- // }
- #endregion
-
#region EditAsync
[Test]
public async Task EditAsync_ReturnsTrue_WhenUserIsUpdatedSuccessfully()
{
- User oldUser = this.CreateDummyUser();
- this._context.Users.Add(oldUser);
- await this._context.SaveChangesAsync();
+ User oldUser = CreateDummyUser();
+ _ = this._context.Users.Add(oldUser);
+ _ = await this._context.SaveChangesAsync();
oldUser.UserName = "SuperSecretUserName";
bool result = await this._userRepository.EditAsync(oldUser.Id, oldUser);
@@ -80,7 +74,7 @@ namespace DevHive.Data.Tests
public async Task GetByIdAsync_ReturnsTheUse_WhenItExists()
{
User dummyUserOne = CreateDummyUser();
- await this._userRepository.AddAsync(dummyUserOne);
+ _ = await this._userRepository.AddAsync(dummyUserOne);
User resultUser = await this._userRepository.GetByIdAsync(dummyUserOne.Id);
@@ -104,7 +98,7 @@ namespace DevHive.Data.Tests
{
//Arrange
User dummyUser = CreateDummyUser();
- await this._userRepository.AddAsync(dummyUser);
+ _ = await this._userRepository.AddAsync(dummyUser);
string username = dummyUser.UserName;
//Act
@@ -129,9 +123,9 @@ namespace DevHive.Data.Tests
[Test]
public async Task DoesUserExistAsync_ReturnsTrue_WhenUserExists()
{
- User dummyUser = this.CreateDummyUser();
- this._context.Users.Add(dummyUser);
- await this._context.SaveChangesAsync();
+ User dummyUser = CreateDummyUser();
+ _ = this._context.Users.Add(dummyUser);
+ _ = await this._context.SaveChangesAsync();
bool result = await this._userRepository.DoesUserExistAsync(dummyUser.Id);
@@ -153,9 +147,9 @@ namespace DevHive.Data.Tests
[Test]
public async Task DoesUsernameExistAsync_ReturnsTrue_WhenUserWithTheNameExists()
{
- User dummyUser = this.CreateDummyUser();
- this._context.Users.Add(dummyUser);
- await this._context.SaveChangesAsync();
+ User dummyUser = CreateDummyUser();
+ _ = this._context.Users.Add(dummyUser);
+ _ = await this._context.SaveChangesAsync();
bool result = await this._userRepository.DoesUsernameExistAsync(dummyUser.UserName);
@@ -177,9 +171,9 @@ namespace DevHive.Data.Tests
[Test]
public async Task DoesEmailExistAsync_ReturnsTrue_WhenUserWithTheEmailExists()
{
- User dummyUser = this.CreateDummyUser();
- this._context.Users.Add(dummyUser);
- await this._context.SaveChangesAsync();
+ User dummyUser = CreateDummyUser();
+ _ = this._context.Users.Add(dummyUser);
+ _ = await this._context.SaveChangesAsync();
bool result = await this._userRepository.DoesEmailExistAsync(dummyUser.Email);
@@ -197,52 +191,15 @@ namespace DevHive.Data.Tests
}
#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");
- //}
-
- // [Test]
- // public async Task DoesUserHaveThisFriendAsync_ReturnsFalse_WhenUserDoesNotHaveTheGivenFriend()
- // {
- // User dummyUser = this.CreateDummyUser();
- // User anotherDummyUser = this.CreateAnotherDummyUser();
- //
- // 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.IsFalse(result, "DoesUserHaveThisFriendAsync does not return false when user des not have the given friend");
- // }
- #endregion
-
#region DoesUserHaveThisUsernameAsync
[Test]
public async Task DoesUserHaveThisUsername_ReturnsTrue_WhenUserHasTheGivenUsername()
{
- User dummyUser = this.CreateDummyUser();
- this._context.Users.Add(dummyUser);
- await this._context.SaveChangesAsync();
+ User dummyUser = CreateDummyUser();
+ _ = this._context.Users.Add(dummyUser);
+ _ = await this._context.SaveChangesAsync();
- bool result = this._userRepository.DoesUserHaveThisUsernameAsync(dummyUser.Id, dummyUser.UserName);
+ 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");
}
@@ -251,18 +208,18 @@ namespace DevHive.Data.Tests
public async Task DoesUserHaveThisUsername_ReturnsFalse_WhenUserDoesntHaveTheGivenUsername()
{
string username = "Fake username";
- User dummyUser = this.CreateDummyUser();
- this._context.Users.Add(dummyUser);
- await this._context.SaveChangesAsync();
+ User dummyUser = CreateDummyUser();
+ _ = this._context.Users.Add(dummyUser);
+ _ = await this._context.SaveChangesAsync();
- bool result = this._userRepository.DoesUserHaveThisUsernameAsync(dummyUser.Id, username);
+ 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 User CreateDummyUser()
+ private static User CreateDummyUser()
{
HashSet<Language> languages = new()
{
@@ -303,48 +260,6 @@ namespace DevHive.Data.Tests
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
}
}