aboutsummaryrefslogtreecommitdiff
path: root/Timeline.Tests/Mock
diff options
context:
space:
mode:
Diffstat (limited to 'Timeline.Tests/Mock')
-rw-r--r--Timeline.Tests/Mock/Data/TestDatabase.cs12
-rw-r--r--Timeline.Tests/Mock/Data/TestUsers.cs40
2 files changed, 29 insertions, 23 deletions
diff --git a/Timeline.Tests/Mock/Data/TestDatabase.cs b/Timeline.Tests/Mock/Data/TestDatabase.cs
index 09c77dce..7b4bc65e 100644
--- a/Timeline.Tests/Mock/Data/TestDatabase.cs
+++ b/Timeline.Tests/Mock/Data/TestDatabase.cs
@@ -8,6 +8,13 @@ namespace Timeline.Tests.Mock.Data
{
public class TestDatabase : IDisposable
{
+ public static void InitDatabase(DatabaseContext context)
+ {
+ context.Database.EnsureCreated();
+ context.Users.AddRange(MockUsers.CreateMockUsers());
+ context.SaveChanges();
+ }
+
private readonly SqliteConnection _databaseConnection;
private readonly DatabaseContext _databaseContext;
@@ -26,10 +33,7 @@ namespace Timeline.Tests.Mock.Data
_databaseContext = new DatabaseContext(options);
- // init with mock data
- _databaseContext.Database.EnsureCreated();
- _databaseContext.Users.AddRange(MockUsers.Users);
- _databaseContext.SaveChanges();
+ InitDatabase(_databaseContext);
}
public void Dispose()
diff --git a/Timeline.Tests/Mock/Data/TestUsers.cs b/Timeline.Tests/Mock/Data/TestUsers.cs
index f34f62c5..378fc280 100644
--- a/Timeline.Tests/Mock/Data/TestUsers.cs
+++ b/Timeline.Tests/Mock/Data/TestUsers.cs
@@ -1,3 +1,4 @@
+using System;
using System.Collections.Generic;
using System.Linq;
using Timeline.Entities;
@@ -10,38 +11,39 @@ namespace Timeline.Tests.Mock.Data
{
static MockUsers()
{
- var mockUsers = new List<User>();
- var passwordService = new PasswordService();
+ var mockUserInfos = CreateMockUsers().Select(u => UserUtility.CreateUserInfo(u)).ToList();
+ UserUserInfo = mockUserInfos[0];
+ AdminUserInfo = mockUserInfos[1];
+ UserInfos = mockUserInfos;
+ }
- mockUsers.Add(new User
+ public const string UserUsername = "user";
+ public const string AdminUsername = "admin";
+ public const string UserPassword = "user";
+ public const string AdminPassword = "admin";
+
+ // emmmmmmm. Never reuse the user instances because EF Core uses them which will cause strange things.
+ internal static IEnumerable<User> CreateMockUsers()
+ {
+ var users = new List<User>();
+ var passwordService = new PasswordService();
+ users.Add(new User
{
Name = UserUsername,
EncryptedPassword = passwordService.HashPassword(UserPassword),
RoleString = UserUtility.IsAdminToRoleString(false),
- Version = 0,
+ Avatar = UserAvatar.Create(DateTime.Now)
});
- mockUsers.Add(new User
+ users.Add(new User
{
Name = AdminUsername,
EncryptedPassword = passwordService.HashPassword(AdminPassword),
RoleString = UserUtility.IsAdminToRoleString(true),
- Version = 0,
+ Avatar = UserAvatar.Create(DateTime.Now)
});
-
- Users = mockUsers;
-
- var mockUserInfos = mockUsers.Select(u => UserUtility.CreateUserInfo(u)).ToList();
- UserUserInfo = mockUserInfos[0];
- AdminUserInfo = mockUserInfos[1];
- UserInfos = mockUserInfos;
+ return users;
}
- public const string UserUsername = "user";
- public const string AdminUsername = "admin";
- public const string UserPassword = "user";
- public const string AdminPassword = "admin";
-
- internal static IReadOnlyList<User> Users { get; }
public static IReadOnlyList<UserInfo> UserInfos { get; }
public static UserInfo AdminUserInfo { get; }