aboutsummaryrefslogtreecommitdiff
path: root/src/Data
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
parent1d2f0ea1665b6eb2d9cc3334841318a39ab41e0e (diff)
downloadDevHive-503a23c04355624b133161c9356b139f2e4500f6.tar
DevHive-503a23c04355624b133161c9356b139f2e4500f6.tar.gz
DevHive-503a23c04355624b133161c9356b139f2e4500f6.zip
Code cleanup of UserTestsunit_test_refactoring
Diffstat (limited to 'src/Data')
-rw-r--r--src/Data/DevHive.Data.Tests/CommentRepository.Tests.cs18
-rw-r--r--src/Data/DevHive.Data.Tests/FeedRepository.Tests.cs49
-rw-r--r--src/Data/DevHive.Data.Tests/LenguageRepository.Tests.cs20
-rw-r--r--src/Data/DevHive.Data.Tests/PostRepository.Tests.cs30
-rw-r--r--src/Data/DevHive.Data.Tests/RoleRepository.Tests.cs39
-rw-r--r--src/Data/DevHive.Data.Tests/TechnologyRepository.Tests.cs22
-rw-r--r--src/Data/DevHive.Data.Tests/UserRepositoryTests.cs183
-rw-r--r--src/Data/DevHive.Data/Migrations/20210216152915_Inital.cs1145
8 files changed, 703 insertions, 803 deletions
diff --git a/src/Data/DevHive.Data.Tests/CommentRepository.Tests.cs b/src/Data/DevHive.Data.Tests/CommentRepository.Tests.cs
index 9cbb43b..1fd8ad0 100644
--- a/src/Data/DevHive.Data.Tests/CommentRepository.Tests.cs
+++ b/src/Data/DevHive.Data.Tests/CommentRepository.Tests.cs
@@ -20,18 +20,18 @@ namespace DevHive.Data.Tests
[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);
- CommentRepository = new CommentRepository(Context);
+ this.CommentRepository = new CommentRepository(this.Context);
}
[TearDown]
public void TearDown()
{
- this.Context.Database.EnsureDeleted();
+ _ = this.Context.Database.EnsureDeleted();
}
#endregion
@@ -49,7 +49,7 @@ 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);
@@ -79,18 +79,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..eb5bce0 100644
--- a/src/Data/DevHive.Data.Tests/FeedRepository.Tests.cs
+++ b/src/Data/DevHive.Data.Tests/FeedRepository.Tests.cs
@@ -19,18 +19,18 @@ namespace DevHive.Data.Tests
[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);
- FeedRepository = new FeedRepository(Context);
+ this.FeedRepository = new FeedRepository(this.Context);
}
[TearDown]
public void TearDown()
{
- this.Context.Database.EnsureDeleted();
+ _ = this.Context.Database.EnsureDeleted();
}
#endregion
@@ -38,16 +38,15 @@ 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;
@@ -59,11 +58,13 @@ 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;
@@ -75,7 +76,7 @@ namespace DevHive.Data.Tests
#endregion
#region HelperMethods
- private User CreateDummyUser()
+ private static User CreateDummyUser()
{
HashSet<Role> roles = new()
{
@@ -96,24 +97,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..18d5959 100644
--- a/src/Data/DevHive.Data.Tests/LenguageRepository.Tests.cs
+++ b/src/Data/DevHive.Data.Tests/LenguageRepository.Tests.cs
@@ -19,18 +19,18 @@ namespace DevHive.Data.Tests
[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);
- LanguageRepository = new LanguageRepository(Context);
+ this.LanguageRepository = new LanguageRepository(this.Context);
}
[TearDown]
public void TearDown()
{
- this.Context.Database.EnsureDeleted();
+ _ = this.Context.Database.EnsureDeleted();
}
#endregion
@@ -38,9 +38,9 @@ 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);
@@ -60,8 +60,8 @@ 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;
@@ -85,7 +85,7 @@ namespace DevHive.Data.Tests
[Test]
public async Task DoesLanguageNameExist_ReturnsTrue_IfLanguageExists()
{
- await AddEntity();
+ await this.AddEntity();
bool result = await this.LanguageRepository.DoesLanguageNameExistAsync(LANGUAGE_NAME);
@@ -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..c57844e 100644
--- a/src/Data/DevHive.Data.Tests/PostRepository.Tests.cs
+++ b/src/Data/DevHive.Data.Tests/PostRepository.Tests.cs
@@ -11,7 +11,7 @@ using NUnit.Framework;
namespace DevHive.Data.Tests
{
- [TestFixture]
+ [TestFixture]
public class PostRepositoryTests
{
private const string POST_MESSAGE = "Post test message";
@@ -26,20 +26,20 @@ namespace DevHive.Data.Tests
[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.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 +49,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,7 +62,7 @@ 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);
@@ -92,7 +92,7 @@ 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);
@@ -121,11 +121,11 @@ namespace DevHive.Data.Tests
#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 +135,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..2e43cf7 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
@@ -12,27 +14,26 @@ namespace DevHive.Data.Tests
public class RoleRepositoryTests
{
private const string ROLE_NAME = "Role test name";
-
- protected DevHiveContext Context { get; set; }
-
- protected RoleRepository RoleRepository { get; set; }
+ private DevHiveContext _context;
+ private RoleRepository _roleRepository;
#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);
- RoleRepository = new RoleRepository(Context);
+ Mock<RoleManager<Role>> roleManagerMock = new();
+ this._roleRepository = new(this._context, roleManagerMock.Object);
}
[TearDown]
public void TearDown()
{
- this.Context.Database.EnsureDeleted();
+ _ = this._context.Database.EnsureDeleted();
}
#endregion
@@ -42,7 +43,7 @@ namespace DevHive.Data.Tests
{
Role role = await this.AddEntity();
- Role resultRole = await this.RoleRepository.GetByNameAsync(role.Name);
+ Role resultRole = await this._roleRepository.GetByNameAsync(role.Name);
Assert.AreEqual(role.Id, resultRole.Id, "GetByNameAsync does not return the correct role");
}
@@ -50,7 +51,7 @@ namespace DevHive.Data.Tests
[Test]
public async Task GetByNameAsync_ReturnsNull_WhenTheRoleDoesNotExist()
{
- Role resultRole = await this.RoleRepository.GetByNameAsync(ROLE_NAME);
+ Role resultRole = await this._roleRepository.GetByNameAsync(ROLE_NAME);
Assert.IsNull(resultRole, "GetByNameAsync does not return when the role does not exist");
}
@@ -62,7 +63,7 @@ namespace DevHive.Data.Tests
{
Role role = await this.AddEntity();
- bool result = await this.RoleRepository.DoesNameExist(role.Name);
+ bool result = await this._roleRepository.DoesNameExist(role.Name);
Assert.IsTrue(result, "DoesNameExist returns false when the role name exist");
}
@@ -70,7 +71,7 @@ namespace DevHive.Data.Tests
[Test]
public async Task DoesNameExist_ReturnsFalse_WhenTheNameDoesNotExist()
{
- bool result = await this.RoleRepository.DoesNameExist(ROLE_NAME);
+ bool result = await this._roleRepository.DoesNameExist(ROLE_NAME);
Assert.IsFalse(result, "DoesNameExist returns false when the role name exist");
}
@@ -80,11 +81,11 @@ namespace DevHive.Data.Tests
[Test]
public async Task DoesRoleExist_ReturnsTrue_IfIdExists()
{
- await AddEntity();
- Role role = this.Context.Roles.Where(x => x.Name == ROLE_NAME).ToList().FirstOrDefault();
+ _ = 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);
+ bool result = await this._roleRepository.DoesRoleExist(id);
Assert.IsTrue(result, "DoesRoleExistAsync returns flase when role exists");
}
@@ -94,7 +95,7 @@ namespace DevHive.Data.Tests
{
Guid id = Guid.NewGuid();
- bool result = await this.RoleRepository.DoesRoleExist(id);
+ bool result = await this._roleRepository.DoesRoleExist(id);
Assert.IsFalse(result, "DoesRoleExist returns true when role does not exist");
}
@@ -103,14 +104,14 @@ namespace DevHive.Data.Tests
#region HelperMethods
private async Task<Role> AddEntity(string name = ROLE_NAME)
{
- Role role = new Role
+ Role role = new()
{
Id = Guid.NewGuid(),
Name = name
};
- this.Context.Roles.Add(role);
- await this.Context.SaveChangesAsync();
+ _ = this._context.Roles.Add(role);
+ _ = await this._context.SaveChangesAsync();
return role;
}
diff --git a/src/Data/DevHive.Data.Tests/TechnologyRepository.Tests.cs b/src/Data/DevHive.Data.Tests/TechnologyRepository.Tests.cs
index d25fd3b..f7fbacb 100644
--- a/src/Data/DevHive.Data.Tests/TechnologyRepository.Tests.cs
+++ b/src/Data/DevHive.Data.Tests/TechnologyRepository.Tests.cs
@@ -21,18 +21,18 @@ namespace DevHive.Data.Tests
[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);
- TechnologyRepository = new TechnologyRepository(Context);
+ this.TechnologyRepository = new TechnologyRepository(this.Context);
}
[TearDown]
public void TearDown()
{
- this.Context.Database.EnsureDeleted();
+ _ = this.Context.Database.EnsureDeleted();
}
#endregion
@@ -40,9 +40,9 @@ 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);
@@ -62,8 +62,8 @@ 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);
@@ -86,7 +86,7 @@ namespace DevHive.Data.Tests
[Test]
public async Task DoesTechnologyNameExist_ReturnsTrue_IfTechnologyExists()
{
- await AddEntity();
+ await this.AddEntity();
bool result = await this.TechnologyRepository.DoesTechnologyNameExistAsync(TECHNOLOGY_NAME);
@@ -105,13 +105,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..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
}
}
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");
+ }
+ }
}