From b871cf51df53b42d8dafbc93609f1c93a83cd18e Mon Sep 17 00:00:00 2001
From: "jozsef.b@aycode.com" <9Rj@D}fVwBaN>
Date: Wed, 3 Apr 2024 07:52:40 +0200
Subject: [PATCH] AddUser, RemoveUser tests, etc...
---
...=> SqlSchemaCompare_Dev_to_DevRelease.scmp | 4 +-
TIAM.Database.Test/AdminDalTest.cs | 76 +++++++++++++++----
TIAM.Database/DataLayers/Admins/AdminDal.cs | 23 ++++++
.../Server/Services/TransferBackendService.cs | 6 +-
TourIAmProject.sln | 2 +-
5 files changed, 90 insertions(+), 21 deletions(-)
rename SqlSchemaCompare_Dev_to_Prod.scmp => SqlSchemaCompare_Dev_to_DevRelease.scmp (98%)
diff --git a/SqlSchemaCompare_Dev_to_Prod.scmp b/SqlSchemaCompare_Dev_to_DevRelease.scmp
similarity index 98%
rename from SqlSchemaCompare_Dev_to_Prod.scmp
rename to SqlSchemaCompare_Dev_to_DevRelease.scmp
index 05bd54a9..05443017 100644
--- a/SqlSchemaCompare_Dev_to_Prod.scmp
+++ b/SqlSchemaCompare_Dev_to_DevRelease.scmp
@@ -3,12 +3,12 @@
10
- Data Source=185.51.190.197;Initial Catalog=TIAM_DEV;Persist Security Info=False;User ID=Anata_Development_Team;Pooling=False;Multiple Active Result Sets=False;Connect Timeout=60;Encrypt=True;Trust Server Certificate=True;Command Timeout=0
+ Data Source=185.51.190.197;Initial Catalog=TIAM_DEV;Persist Security Info=True;User ID=Anata_Development_Team;Pooling=False;Multiple Active Result Sets=False;Connect Timeout=60;Encrypt=True;Trust Server Certificate=True;Command Timeout=0
- Data Source=185.51.190.197;Initial Catalog=TIAM_PROD;Persist Security Info=True;User ID=Anata_Development_Team;Pooling=False;Multiple Active Result Sets=False;Connect Timeout=60;Encrypt=True;Trust Server Certificate=True;Command Timeout=0
+ Data Source=185.51.190.197;Initial Catalog=TIAM_DEVRELEASE;Persist Security Info=True;User ID=Anata_Development_Team;Pooling=False;Multiple Active Result Sets=False;Connect Timeout=60;Encrypt=True;Trust Server Certificate=True;Command Timeout=0
diff --git a/TIAM.Database.Test/AdminDalTest.cs b/TIAM.Database.Test/AdminDalTest.cs
index 988e77bf..b1ad300e 100644
--- a/TIAM.Database.Test/AdminDalTest.cs
+++ b/TIAM.Database.Test/AdminDalTest.cs
@@ -13,6 +13,7 @@ using TIAM.Entities.Products;
using TIAM.Entities.Users;
using TIAM.Models.Dtos.Users;
using TIAM.Entities.Transfers;
+using TIAM.Entities.Profiles;
namespace TIAM.Database.Test
{
@@ -32,9 +33,9 @@ namespace TIAM.Database.Test
[DataRow("42968456-6EF3-4D9C-8BC4-0569A129AC05")]
public void GetPermissionViewBySubjectId_ReturnsPermissionContextMapping_WhenPermissionContextMappingExists(string subjectIdString)
{
- var subjectId= Guid.Parse(subjectIdString);
+ var subjectId = Guid.Parse(subjectIdString);
var permMapping = Dal.GetPermissionContextsViewBySubjectId(subjectId).ToList();
-
+
Assert.IsNotNull(permMapping, "PermissionContextsView is null");
Assert.IsTrue(permMapping.Count != 0, "PermissionContextsView count: 0");
}
@@ -45,7 +46,7 @@ namespace TIAM.Database.Test
{
var contextId = Guid.Parse(contextIdString);
var permMapping = Dal.GetPermissionContextsViewByContextId(contextId).ToList();
-
+
Assert.IsNotNull(permMapping, "PermissionContextsView is null");
Assert.IsTrue(permMapping.Count != 0, "PermissionContextsView count: 0");
}
@@ -56,7 +57,7 @@ namespace TIAM.Database.Test
{
var contextId = Guid.Parse(contextIdString);
var permMapping = await Dal.GetPermissionContextsViewByContextIdAsync(contextId);
-
+
Assert.IsNotNull(permMapping, "PermissionContextsView is null");
Assert.IsTrue(permMapping.Count != 0, "PermissionContextsView count: 0");
}
@@ -65,7 +66,7 @@ namespace TIAM.Database.Test
{
var productId = Guid.Parse(productIdString);
var product = Dal.GetProductById(productId, true);
-
+
Assert.IsNotNull(product, "Product is null");
Assert.IsNotNull(product.Profile, "Profile is null");
Assert.IsNotNull(product.Profile.Address, "Profile.Address is null");
@@ -76,7 +77,7 @@ namespace TIAM.Database.Test
[DataTestMethod]
public void GetProducts_ReturnProductsJson_WhenProductsExist()
{
- var products = JsonConvert.DeserializeObject>(Dal.GetProductsJson(false));
+ var products = JsonConvert.DeserializeObject>(Dal.GetProductsJson(false));
Assert.IsNotNull(products, "Products is null");
Assert.IsTrue(products.Count > 0, "No products found");
@@ -156,8 +157,8 @@ namespace TIAM.Database.Test
{
var userProductCarId = Guid.Parse(userProductCarIdString);
- var serializedUserProductMapping = Dal.Session(ctx
- => ctx.UserProductMappings.FirstOrDefault(x
+ var serializedUserProductMapping = Dal.Session(ctx
+ => ctx.UserProductMappings.FirstOrDefault(x
=> x.JsonDetailModel != null && x.JsonDetailModel.Cars != null && x.JsonDetailModel.Cars.Any(c => c.UserProductCarId == userProductCarId))?.ToJson());
//var transfers = Dal.Session(x => x.GetTransfers()).ToList();
@@ -292,7 +293,7 @@ namespace TIAM.Database.Test
var users = JsonConvert.DeserializeObject>(userJson);
Assert.IsNotNull(users);
- Assert.IsTrue(users.Count>0);
+ Assert.IsTrue(users.Count > 0);
}
#region Transfer
@@ -347,7 +348,7 @@ namespace TIAM.Database.Test
Assert.IsTrue(transferDestinationToProduct.TransferDestination.Id == transferDestinationId, "transferDestinationToProduct.TransferDestination.Id != transferDestinationId");
}
-
+
[DataTestMethod]
[DataRow(["8f38f8e3-a92c-4979-88b1-dc812a82245f", "814b5495-c2e9-4f1d-a73f-37cd5d353078", "71392CFD-FB9C-45C1-9540-7BE3782CF26A", "b3f51770-c821-4207-be2a-e622fed2a731"])]
public async Task TransferCrudTest(string[] transferIdProductIdUserProductIdCarIdStrings)
@@ -469,7 +470,7 @@ namespace TIAM.Database.Test
transferDest.Price = 20000;
transferDest.Address.AddressText = modifiedAddress;
-
+
Assert.IsTrue(await Dal.UpdateTransferDestinationAsync(transferDest));
transferDest = Dal.GetTransferDestinationById(transferDestId);
@@ -512,7 +513,7 @@ namespace TIAM.Database.Test
var emailMessages = await Dal.GetEmailMessagesAsync(userId, userProductMappingId);
Assert.IsNotNull(emailMessages);
-
+
Assert.IsTrue(emailMessages.Count > 0);
Assert.IsTrue(emailMessages.All(x => x.Recipients.Any(recipient => recipient.RecipientId == userId || recipient.RecipientId == userProductMappingId)));
}
@@ -530,7 +531,7 @@ namespace TIAM.Database.Test
var subject = "Transfer - Budapest, Liszt Ferenc tér";
var text = "1211 Budapest, Kossuth Lajos utca 145";
-
+
await Dal.RemoveEmailMessageAsync(emailMessageId); //kitöröljük a szemetet, ha korábbról bentmaradt - J.
var emailMessage = new EmailMessage(emailMessageId, senderId, contextId, subject, text, senderEmail);
@@ -547,7 +548,7 @@ namespace TIAM.Database.Test
var modifiedText = "modifiedText";
emailMessage.Text = modifiedText;
-
+
Assert.IsTrue(await Dal.UpdateEmailMessageAsync(emailMessage));
@@ -566,6 +567,51 @@ namespace TIAM.Database.Test
}
#endregion EmailMessage
+
+ #region User
+ [DataTestMethod]
+ [DataRow(["e31044d7-1771-4a32-8dd9-6f9853ed53c6", "0a831191-70a3-4504-9ec4-c5902affaba7", "8eed080c-d2ce-4cc3-bcfe-2268c220bba7", "addUser_test9432@tiam.hu"])]
+ public async Task AddUserTest(string[] userIdProfileIdAddressIdEmailStrings)
+ {
+ var userId = Guid.Parse(userIdProfileIdAddressIdEmailStrings[0]);
+ var profileId = Guid.Parse(userIdProfileIdAddressIdEmailStrings[1]);
+ var addressId = Guid.Parse(userIdProfileIdAddressIdEmailStrings[2]);
+ var email = userIdProfileIdAddressIdEmailStrings[3];
+
+ var fromAddress = "Budapest, Liszt Ferenc tér";
+ var toAddress = "1211 Budapest, Kossuth Lajos utca 145";
+ //var userProductToCarId = Guid.Parse("97179a87-d99f-4f12-b7b2-75e21aaec6ab");
+
+ await Dal.RemoveUserAsync(userId); //kitöröljük a szemetet, ha korábbról bentmaradt - J.
+
+ var user = new User(userId, email, "235664", "dsfglfjg45r34903t3kggvq");
+ //user.ProfileId = profileId;
+
+ var profile = new Profile();
+ profile.Id = profileId;;
+ profile.Name = "Add user test name";
+
+ var address = new Address();
+ address.Id = addressId;
+ address.Latitude = 5362.2341652256;
+ address.Longitude = 5362.2341333317;
+ address.AddressText = "1214 Kossuth Lajos utca 124.";
+
+ user.Profile = profile;
+ user.Profile.Address = address;
+
+ Assert.IsTrue(await Dal.AddUser(user));
+ user = Dal.GetUserById(userId);
+
+ Assert.IsNotNull(user);
+ Assert.IsNotNull(user.Profile);
+ Assert.IsNotNull(user.Profile.Address);
+
+ Assert.IsTrue(await Dal.RemoveUserAsync(userId)); //mielőbb kitöröljük, h ne maradjon szemét a db-ben - J.
+
+ user = Dal.GetUserById(userId);
+ Assert.IsNull(user); //a korábbi törlés miatt NULL kell legyen - J.
+ }
+ #endregion
}
}
-
\ No newline at end of file
diff --git a/TIAM.Database/DataLayers/Admins/AdminDal.cs b/TIAM.Database/DataLayers/Admins/AdminDal.cs
index ca34f611..7453cb7d 100644
--- a/TIAM.Database/DataLayers/Admins/AdminDal.cs
+++ b/TIAM.Database/DataLayers/Admins/AdminDal.cs
@@ -9,10 +9,12 @@ using TIAM.Database.DbSets.Permissions;
using TIAM.Database.DbSets.Products;
using TIAM.Database.DbSets.Transfers;
using TIAM.Database.DbSets.Users;
+using TIAM.Entities.Addresses;
using TIAM.Entities.Drivers;
using TIAM.Entities.Emails;
using TIAM.Entities.Permissions;
using TIAM.Entities.Products;
+using TIAM.Entities.Profiles;
using TIAM.Entities.ServiceProviders;
using TIAM.Entities.Transfers;
using TIAM.Entities.Users;
@@ -92,6 +94,27 @@ namespace TIAM.Database.DataLayers.Admins
public string? GetUserJsonById(Guid userId) => Session(ctx => ctx.GetUserById(userId)?.ToJson());
public string GetUsersJson() => Session(ctx => ctx.Users.ToJson());
+ public Task AddUser(User user) => TransactionAsync(ctx => ctx.AddUser(user));
+
+ public Task AddUser(User user, string profileName, Address address)
+ {
+ return TransactionAsync(ctx =>
+ {
+ var profile = Activator.CreateInstance();
+
+ profile.Id = Guid.NewGuid();
+ profile.Name = profileName;
+ profile.Address = address;
+
+ user.Profile= profile;
+
+ return ctx.AddUser(user);
+ });
+ }
+
+ public Task RemoveUserAsync(User user) => TransactionAsync(ctx => ctx.RemoveUserAsync(user));
+ public Task RemoveUserAsync(Guid userId) => TransactionAsync(ctx => ctx.RemoveUserAsync(userId));
+
public Product? GetProductById(Guid contextId, bool includeUsers = true) => Session(ctx => ctx.GetProductById(contextId, includeUsers));
public string GetProductsJson(bool includeUsers = true) => Session(ctx => ctx.ProductsWithUserRelations(includeUsers).ToJson());
diff --git a/TIAMWebApp/Server/Services/TransferBackendService.cs b/TIAMWebApp/Server/Services/TransferBackendService.cs
index 5b2909b3..9e6e4beb 100644
--- a/TIAMWebApp/Server/Services/TransferBackendService.cs
+++ b/TIAMWebApp/Server/Services/TransferBackendService.cs
@@ -9,7 +9,7 @@ namespace TIAMWebApp.Server.Services
public class TransferBackendService
{
private readonly IConfiguration _configuration;
- public AdminDal _adminDal;
+ private readonly AdminDal _adminDal;
public TransferBackendService(IConfiguration configuration, AdminDal adminDal)
{
@@ -42,14 +42,14 @@ namespace TIAMWebApp.Server.Services
var price = GetSeatNumberPrice(in tranferDestinationPrice, seatNumber);
//TODO: ExtraPrice - J.
-
+ //if (baseDestination.Id == fromTransferDestination.Id && )
return price;
}
public double GetSeatNumberPrice(in ITransfeDestinationPrices transfeDestinationPrices, in byte seatNumber)
=> GetSeatNumberPrice(transfeDestinationPrices.Price, transfeDestinationPrices.Price2, transfeDestinationPrices.Price3, seatNumber);
- public double GetSeatNumberPrice(in double price, in double? price2, in double? price3, in byte seatNumber)
+ public double GetSeatNumberPrice(double price, in double? price2, in double? price3, in byte seatNumber)
{
return seatNumber switch
{
diff --git a/TourIAmProject.sln b/TourIAmProject.sln
index 23f14e88..aa83a6c6 100644
--- a/TourIAmProject.sln
+++ b/TourIAmProject.sln
@@ -39,7 +39,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TIAM.Resources", "TIAMResou
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{DD32C7C2-218C-4148-8FD6-1AB3C824A7D5}"
ProjectSection(SolutionItems) = preProject
- SqlSchemaCompare_Dev_to_Prod.scmp = SqlSchemaCompare_Dev_to_Prod.scmp
+ SqlSchemaCompare_Dev_to_DevRelease.scmp = SqlSchemaCompare_Dev_to_DevRelease.scmp
EndProjectSection
EndProject
Global