Change the ASP.net pages to return partial views, and be compatible with the htmlIslands react component.
This commit is contained in:
parent
90b23f939c
commit
e062d15101
@ -10,10 +10,12 @@ public interface ICustomFieldManager
|
|||||||
Task<IPaginatedData<CustomFieldDefinition>> GetFieldsAsync(Paging paging, CancellationToken cancellationToken);
|
Task<IPaginatedData<CustomFieldDefinition>> GetFieldsAsync(Paging paging, CancellationToken cancellationToken);
|
||||||
Task CreateFieldAsync(AuditUserDetails auditUserDetails, CreateCustomField custimField, CancellationToken cancellationToken);
|
Task CreateFieldAsync(AuditUserDetails auditUserDetails, CreateCustomField custimField, CancellationToken cancellationToken);
|
||||||
Task EditFieldAsync(AuditUserDetails auditUserDetails, EditCustomFields custimField, CancellationToken cancellationToken);
|
Task EditFieldAsync(AuditUserDetails auditUserDetails, EditCustomFields custimField, CancellationToken cancellationToken);
|
||||||
|
Task PatchFieldAsync(AuditUserDetails auditUserDetails, IGeneralIdRef Id, PatchCustomFields customField, CancellationToken cancellationToken);
|
||||||
|
|
||||||
Task<CustomFieldDefinition> GetFieldAsync(IGeneralIdRef id, CancellationToken cancellationToken);
|
Task<CustomFieldDefinition> GetFieldAsync(IGeneralIdRef id, CancellationToken cancellationToken);
|
||||||
|
|
||||||
Task<CustomFieldDefinition> GetFieldAsync(string name, CancellationToken cancellationToken);
|
Task<CustomFieldDefinition> GetFieldAsync(string name, CancellationToken cancellationToken);
|
||||||
|
|
||||||
Task DeleteFieldAsync(AuditUserDetails auditUserDetails, IGeneralIdRef id, CancellationToken cancellationToken);
|
Task DeleteFieldAsync(AuditUserDetails auditUserDetails, IGeneralIdRef id, CancellationToken cancellationToken);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -1,6 +1,9 @@
|
|||||||
using System.Text.Json.Serialization;
|
using e_suite.API.Common.models.@base;
|
||||||
using e_suite.API.Common.models.@base;
|
using e_suite.Database.Core.Tables.UserManager;
|
||||||
|
using eSuite.Core.CustomFields;
|
||||||
using eSuite.Core.Miscellaneous;
|
using eSuite.Core.Miscellaneous;
|
||||||
|
using System.Text.Json.Serialization;
|
||||||
|
using e_suite.Database.Core.Tables.CustomFields;
|
||||||
|
|
||||||
namespace e_suite.API.Common.models;
|
namespace e_suite.API.Common.models;
|
||||||
|
|
||||||
@ -10,3 +13,36 @@ public class EditCustomFields : CustomFieldBase
|
|||||||
public GeneralIdRef Id { get; set; } = new GeneralIdRef();
|
public GeneralIdRef Id { get; set; } = new GeneralIdRef();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[Patches(typeof(CustomField))]
|
||||||
|
public class PatchCustomFields
|
||||||
|
{
|
||||||
|
[JsonPropertyName("fieldType")]
|
||||||
|
[PatchMap(nameof(CustomField.FieldType))]
|
||||||
|
public FieldType? FieldType { get; set; }
|
||||||
|
|
||||||
|
//Todo add support for this
|
||||||
|
//[JsonPropertyName("refElementId")]
|
||||||
|
//public GeneralIdRef? RefElementId { get; set; }
|
||||||
|
|
||||||
|
[JsonPropertyName("name")]
|
||||||
|
[PatchMap(nameof(CustomField.Name))]
|
||||||
|
public string? Name { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[JsonPropertyName("defaultValue")]
|
||||||
|
[PatchMap(nameof(CustomField.DefaultValue))]
|
||||||
|
public string? DefaultValue { get; set; } = string.Empty;
|
||||||
|
|
||||||
|
[JsonPropertyName("minEntries")]
|
||||||
|
[PatchMap(nameof(CustomField.MinEntries))]
|
||||||
|
public long? MinEntries { get; set; }
|
||||||
|
|
||||||
|
[JsonPropertyName("maxEntries")]
|
||||||
|
[PatchMap(nameof(CustomField.MaxEntries))]
|
||||||
|
public long? MaxEntries { get; set; }
|
||||||
|
|
||||||
|
//Todo add support for this
|
||||||
|
//[JsonPropertyName("params")]
|
||||||
|
//[PatchMap(nameof(CustomField.))]
|
||||||
|
//public string? Parameters { get; set; } = string.Empty;
|
||||||
|
}
|
||||||
@ -27,8 +27,8 @@ public class LoginGetUnitTests : AccountControllerTestBase
|
|||||||
var response = await _accountController.LoginGet(login, CancellationToken.None);
|
var response = await _accountController.LoginGet(login, CancellationToken.None);
|
||||||
|
|
||||||
//Assert
|
//Assert
|
||||||
Assert.That(response, Is.TypeOf<ViewResult>());
|
Assert.That(response, Is.TypeOf<PartialViewResult>());
|
||||||
var viewResult = response as ViewResult;
|
var viewResult = response as PartialViewResult;
|
||||||
Assert.That(viewResult?.ViewName, Is.EqualTo("Login"));
|
Assert.That(viewResult?.ViewName, Is.EqualTo("Login"));
|
||||||
Assert.That(viewResult?.Model, Is.TypeOf<Login>());
|
Assert.That(viewResult?.Model, Is.TypeOf<Login>());
|
||||||
|
|
||||||
@ -56,8 +56,8 @@ public class LoginGetUnitTests : AccountControllerTestBase
|
|||||||
var response = await _accountController.LoginGet(login, CancellationToken.None);
|
var response = await _accountController.LoginGet(login, CancellationToken.None);
|
||||||
|
|
||||||
//Assert
|
//Assert
|
||||||
Assert.That(response, Is.TypeOf<ViewResult>());
|
Assert.That(response, Is.TypeOf<PartialViewResult>());
|
||||||
var viewResult = response as ViewResult;
|
var viewResult = response as PartialViewResult;
|
||||||
Assert.That(viewResult?.ViewName, Is.EqualTo("Login"));
|
Assert.That(viewResult?.ViewName, Is.EqualTo("Login"));
|
||||||
Assert.That(viewResult?.Model, Is.TypeOf<Login>());
|
Assert.That(viewResult?.Model, Is.TypeOf<Login>());
|
||||||
|
|
||||||
|
|||||||
@ -28,8 +28,8 @@ public class LoginPostUnitTests : AccountControllerTestBase
|
|||||||
var response = await _accountController.LoginPost(login, CancellationToken.None);
|
var response = await _accountController.LoginPost(login, CancellationToken.None);
|
||||||
|
|
||||||
//Assert
|
//Assert
|
||||||
Assert.That(response, Is.TypeOf<ViewResult>());
|
Assert.That(response, Is.TypeOf<PartialViewResult>());
|
||||||
var viewResult = response as ViewResult;
|
var viewResult = response as PartialViewResult;
|
||||||
Assert.That(viewResult?.ViewName, Is.EqualTo("Login"));
|
Assert.That(viewResult?.ViewName, Is.EqualTo("Login"));
|
||||||
Assert.That(viewResult?.Model, Is.TypeOf<Login>());
|
Assert.That(viewResult?.Model, Is.TypeOf<Login>());
|
||||||
|
|
||||||
@ -75,8 +75,8 @@ public class LoginPostUnitTests : AccountControllerTestBase
|
|||||||
var response = await _accountController.LoginPost(login, CancellationToken.None);
|
var response = await _accountController.LoginPost(login, CancellationToken.None);
|
||||||
|
|
||||||
//Assert
|
//Assert
|
||||||
Assert.That(response, Is.TypeOf<ViewResult>());
|
Assert.That(response, Is.TypeOf<PartialViewResult>());
|
||||||
var viewResult = response as ViewResult;
|
var viewResult = response as PartialViewResult;
|
||||||
Assert.That(viewResult?.ViewName, Is.EqualTo("Login"));
|
Assert.That(viewResult?.ViewName, Is.EqualTo("Login"));
|
||||||
Assert.That(viewResult?.Model, Is.TypeOf<Login>());
|
Assert.That(viewResult?.Model, Is.TypeOf<Login>());
|
||||||
|
|
||||||
@ -101,8 +101,8 @@ public class LoginPostUnitTests : AccountControllerTestBase
|
|||||||
var response = await _accountController.LoginPost(login, CancellationToken.None);
|
var response = await _accountController.LoginPost(login, CancellationToken.None);
|
||||||
|
|
||||||
//Assert
|
//Assert
|
||||||
Assert.That(response, Is.TypeOf<ViewResult>());
|
Assert.That(response, Is.TypeOf<PartialViewResult>());
|
||||||
var viewResult = response as ViewResult;
|
var viewResult = response as PartialViewResult;
|
||||||
Assert.That(viewResult?.ViewName, Is.EqualTo("Login"));
|
Assert.That(viewResult?.ViewName, Is.EqualTo("Login"));
|
||||||
Assert.That(viewResult?.Model, Is.TypeOf<Login>());
|
Assert.That(viewResult?.Model, Is.TypeOf<Login>());
|
||||||
|
|
||||||
@ -166,8 +166,8 @@ public class LoginPostUnitTests : AccountControllerTestBase
|
|||||||
var response = await _accountController.LoginPost(login, CancellationToken.None);
|
var response = await _accountController.LoginPost(login, CancellationToken.None);
|
||||||
|
|
||||||
//Assert
|
//Assert
|
||||||
Assert.That(response, Is.TypeOf<ViewResult>());
|
Assert.That(response, Is.TypeOf<PartialViewResult>());
|
||||||
var viewResult = response as ViewResult;
|
var viewResult = response as PartialViewResult;
|
||||||
Assert.That(viewResult?.ViewName, Is.EqualTo("Login"));
|
Assert.That(viewResult?.ViewName, Is.EqualTo("Login"));
|
||||||
Assert.That(viewResult?.Model, Is.TypeOf<Login>());
|
Assert.That(viewResult?.Model, Is.TypeOf<Login>());
|
||||||
|
|
||||||
@ -196,8 +196,8 @@ public class LoginPostUnitTests : AccountControllerTestBase
|
|||||||
var response = await _accountController.LoginPost(login, CancellationToken.None);
|
var response = await _accountController.LoginPost(login, CancellationToken.None);
|
||||||
|
|
||||||
//Assert
|
//Assert
|
||||||
Assert.That(response, Is.TypeOf<ViewResult>());
|
Assert.That(response, Is.TypeOf<PartialViewResult>());
|
||||||
var viewResult = response as ViewResult;
|
var viewResult = response as PartialViewResult;
|
||||||
Assert.That(viewResult?.ViewName, Is.EqualTo("Login"));
|
Assert.That(viewResult?.ViewName, Is.EqualTo("Login"));
|
||||||
Assert.That(viewResult?.Model, Is.TypeOf<Login>());
|
Assert.That(viewResult?.Model, Is.TypeOf<Login>());
|
||||||
|
|
||||||
|
|||||||
@ -42,8 +42,8 @@ public class ProfileGetUnitTests : AccountControllerTestBase
|
|||||||
var response = await _accountController.ProfileGet(CancellationToken.None);
|
var response = await _accountController.ProfileGet(CancellationToken.None);
|
||||||
|
|
||||||
//Assert
|
//Assert
|
||||||
Assert.That(response, Is.TypeOf<ViewResult>());
|
Assert.That(response, Is.TypeOf<PartialViewResult>());
|
||||||
var viewResult = response as ViewResult;
|
var viewResult = response as PartialViewResult;
|
||||||
Assert.That(viewResult?.ViewName, Is.EqualTo("Profile"));
|
Assert.That(viewResult?.ViewName, Is.EqualTo("Profile"));
|
||||||
Assert.That(viewResult?.Model, Is.TypeOf<Models.UserProfile>());
|
Assert.That(viewResult?.Model, Is.TypeOf<Models.UserProfile>());
|
||||||
|
|
||||||
|
|||||||
@ -71,9 +71,9 @@ public class AccountController : ESuiteController
|
|||||||
return LoginView(login);
|
return LoginView(login);
|
||||||
}
|
}
|
||||||
|
|
||||||
private ViewResult LoginView(Login? login)
|
private ActionResult LoginView(Login? login)
|
||||||
{
|
{
|
||||||
return View("Login", login);
|
return PartialView("Login", login);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -236,7 +236,7 @@ public class AccountController : ESuiteController
|
|||||||
var profile = await _userManager.GetProfile(User.Email(), cancellationToken);
|
var profile = await _userManager.GetProfile(User.Email(), cancellationToken);
|
||||||
var userProfile = profile.ToUserProfile();
|
var userProfile = profile.ToUserProfile();
|
||||||
|
|
||||||
return View("Profile", userProfile);
|
return PartialView("Profile", userProfile);
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
|
|||||||
@ -1,5 +1,6 @@
|
|||||||
using e_suite.API.Common;
|
using e_suite.API.Common;
|
||||||
using e_suite.API.Common.models;
|
using e_suite.API.Common.models;
|
||||||
|
using e_suite.Database.Core.Tables.CustomFields;
|
||||||
using e_suite.Utilities.Pagination;
|
using e_suite.Utilities.Pagination;
|
||||||
using eSuite.API.security;
|
using eSuite.API.security;
|
||||||
using eSuite.API.Utilities;
|
using eSuite.API.Utilities;
|
||||||
@ -104,6 +105,28 @@ public class CustomFieldsController : ESuiteControllerBase
|
|||||||
return Ok();
|
return Ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Patching is useful when you only want to update a few fields of the user rather than the whole object.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="id"></param>
|
||||||
|
/// <param name="customFields"></param>>
|
||||||
|
/// <param name="cancellationToken"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
[Route("field")]
|
||||||
|
[HttpPatch]
|
||||||
|
[AccessKey(SecurityAccess.EditField)]
|
||||||
|
[ProducesResponseType(StatusCodes.Status200OK)]
|
||||||
|
[ProducesResponseType(StatusCodes.Status400BadRequest)]
|
||||||
|
public async Task<IActionResult> PatchField(
|
||||||
|
[FromQuery] IGeneralIdRef id,
|
||||||
|
[FromBody] PatchCustomFields customFields,
|
||||||
|
CancellationToken cancellationToken = default!
|
||||||
|
)
|
||||||
|
{
|
||||||
|
await _customFieldManager.PatchFieldAsync(AuditUserDetails, id, customFields, cancellationToken);
|
||||||
|
return Ok();
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Delete a custom field by giving a Id
|
/// Delete a custom field by giving a Id
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@ -8,7 +8,7 @@
|
|||||||
<div class="logo"></div>
|
<div class="logo"></div>
|
||||||
<div className="loginForm">
|
<div className="loginForm">
|
||||||
<h1>Login</h1>
|
<h1>Login</h1>
|
||||||
@using (Html.BeginForm(FormMethod.Post, true, null))
|
@using (Html.BeginForm(method: FormMethod.Post, antiforgery:true, htmlAttributes: new { data_full_page_redirect = "true" }))
|
||||||
{
|
{
|
||||||
<fieldset>
|
<fieldset>
|
||||||
@Html.AntiForgeryToken()
|
@Html.AntiForgeryToken()
|
||||||
@ -44,7 +44,7 @@
|
|||||||
@Html.LabelFor(m => m.Email)
|
@Html.LabelFor(m => m.Email)
|
||||||
</div>
|
</div>
|
||||||
<div class="editor-field">
|
<div class="editor-field">
|
||||||
@Html.EditorFor(m => m.Email, new { htmlAttributes = new { type = "email", autocomplete = "username" } })
|
@Html.EditorFor(m => m.Email, new { htmlAttributes = new { type = "email", autocomplete = "username", @class = "form-control" } })
|
||||||
@Html.ValidationMessageFor(m => m.Email)
|
@Html.ValidationMessageFor(m => m.Email)
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,8 @@
|
|||||||
|
|
||||||
@{
|
@{
|
||||||
ViewBag.Title = "e-suite";
|
ViewBag.Title = "e-suite";
|
||||||
Layout = "~/Views/Shared/_layout.cshtml";
|
//Layout = "~/Views/Shared/_layout.cshtml";
|
||||||
|
Layout = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
@ -41,6 +42,5 @@
|
|||||||
@await Html.PartialAsync("_loginMethodChooser")
|
@await Html.PartialAsync("_loginMethodChooser")
|
||||||
|
|
||||||
<button type="submit" class="btn btn-primary btn-spaced" name="Submit">Save</button>
|
<button type="submit" class="btn btn-primary btn-spaced" name="Submit">Save</button>
|
||||||
<a href="/">Home</a>
|
|
||||||
}
|
}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@ -1,5 +1,3 @@
|
|||||||
using System.Linq.Expressions;
|
|
||||||
using System.Text.Json;
|
|
||||||
using e_suite.API.Common;
|
using e_suite.API.Common;
|
||||||
using e_suite.API.Common.exceptions;
|
using e_suite.API.Common.exceptions;
|
||||||
using e_suite.API.Common.models;
|
using e_suite.API.Common.models;
|
||||||
@ -11,6 +9,8 @@ using e_suite.Database.Core.Tables.CustomFields;
|
|||||||
using e_suite.Utilities.Pagination;
|
using e_suite.Utilities.Pagination;
|
||||||
using eSuite.Core.CustomFields;
|
using eSuite.Core.CustomFields;
|
||||||
using eSuite.Core.Miscellaneous;
|
using eSuite.Core.Miscellaneous;
|
||||||
|
using System.Linq.Expressions;
|
||||||
|
using System.Text.Json;
|
||||||
|
|
||||||
namespace e_suite.Modules.CustomFieldsManager;
|
namespace e_suite.Modules.CustomFieldsManager;
|
||||||
|
|
||||||
@ -26,12 +26,14 @@ public class CustomFieldManager : ICustomFieldManager
|
|||||||
private readonly ICustomFieldRepository _customFieldRepository;
|
private readonly ICustomFieldRepository _customFieldRepository;
|
||||||
private readonly ICustomFieldReferenceObjectRepository _customFieldReferenceObjectRepository;
|
private readonly ICustomFieldReferenceObjectRepository _customFieldReferenceObjectRepository;
|
||||||
private readonly ICustomFieldHelper _customFieldHelper;
|
private readonly ICustomFieldHelper _customFieldHelper;
|
||||||
|
private readonly IPatchFactory _patchFactory;
|
||||||
|
|
||||||
public CustomFieldManager(ICustomFieldRepository customFieldRepository, ICustomFieldReferenceObjectRepository customFieldReferenceObjectRepository, ICustomFieldHelper customFieldHelper)
|
public CustomFieldManager(ICustomFieldRepository customFieldRepository, ICustomFieldReferenceObjectRepository customFieldReferenceObjectRepository, ICustomFieldHelper customFieldHelper, IPatchFactory patchFactory)
|
||||||
{
|
{
|
||||||
_customFieldRepository = customFieldRepository;
|
_customFieldRepository = customFieldRepository;
|
||||||
_customFieldReferenceObjectRepository = customFieldReferenceObjectRepository;
|
_customFieldReferenceObjectRepository = customFieldReferenceObjectRepository;
|
||||||
_customFieldHelper = customFieldHelper;
|
_customFieldHelper = customFieldHelper;
|
||||||
|
_patchFactory = patchFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
private async Task<ValueTuple<bool, long?>> ValidateFieldDefinition(FieldType fieldType, IGeneralIdRef? idRef, CancellationToken cancellationToken)
|
private async Task<ValueTuple<bool, long?>> ValidateFieldDefinition(FieldType fieldType, IGeneralIdRef? idRef, CancellationToken cancellationToken)
|
||||||
@ -212,11 +214,8 @@ public class CustomFieldManager : ICustomFieldManager
|
|||||||
CancellationToken cancellationToken
|
CancellationToken cancellationToken
|
||||||
)
|
)
|
||||||
{
|
{
|
||||||
await _customFieldRepository.TransactionAsync(async () =>
|
await AlterField(auditUserDetails, customField.Id, async customFieldOriginal =>
|
||||||
{
|
{
|
||||||
var customFieldOriginal = await _customFieldRepository.GetByIdAsync(customField.Id, cancellationToken);
|
|
||||||
Assert(customFieldOriginal);
|
|
||||||
|
|
||||||
var originalFieldType = customFieldOriginal!.FieldType;
|
var originalFieldType = customFieldOriginal!.FieldType;
|
||||||
var refId = await AssertFieldReference(customField.FieldType, customField.RefElementId!, cancellationToken);
|
var refId = await AssertFieldReference(customField.FieldType, customField.RefElementId!, cancellationToken);
|
||||||
|
|
||||||
@ -233,12 +232,43 @@ public class CustomFieldManager : ICustomFieldManager
|
|||||||
customFieldOriginal.MinEntries = customField.MinEntries;
|
customFieldOriginal.MinEntries = customField.MinEntries;
|
||||||
|
|
||||||
await DealWithParameters(auditUserDetails, customField, originalFieldType, customFieldOriginal, refId, cancellationToken);
|
await DealWithParameters(auditUserDetails, customField, originalFieldType, customFieldOriginal, refId, cancellationToken);
|
||||||
|
}, cancellationToken);
|
||||||
|
}
|
||||||
|
|
||||||
|
private async Task AlterField(
|
||||||
|
AuditUserDetails auditUserDetails,
|
||||||
|
IGeneralIdRef Id,
|
||||||
|
Func<CustomField, Task> applyChanges,
|
||||||
|
CancellationToken cancellationToken
|
||||||
|
)
|
||||||
|
{
|
||||||
|
await _customFieldRepository.TransactionAsync(async () =>
|
||||||
|
{
|
||||||
|
var customFieldOriginal = await _customFieldRepository.GetByIdAsync(Id, cancellationToken);
|
||||||
|
Assert(customFieldOriginal);
|
||||||
|
|
||||||
|
await applyChanges(customFieldOriginal);
|
||||||
|
|
||||||
Assert(customFieldOriginal);
|
Assert(customFieldOriginal);
|
||||||
await _customFieldRepository.EditAsync(auditUserDetails, customFieldOriginal, cancellationToken);
|
await _customFieldRepository.EditAsync(auditUserDetails, customFieldOriginal, cancellationToken);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public async Task PatchFieldAsync(
|
||||||
|
AuditUserDetails auditUserDetails,
|
||||||
|
IGeneralIdRef Id,
|
||||||
|
PatchCustomFields customField,
|
||||||
|
CancellationToken cancellationToken
|
||||||
|
)
|
||||||
|
{
|
||||||
|
var patch = _patchFactory.Create(customField);
|
||||||
|
|
||||||
|
await AlterField(auditUserDetails, Id, async editUser =>
|
||||||
|
{
|
||||||
|
await patch.ApplyTo(customField);
|
||||||
|
}, cancellationToken);
|
||||||
|
}
|
||||||
|
|
||||||
private async Task DealWithParameters(
|
private async Task DealWithParameters(
|
||||||
AuditUserDetails auditUserDetails,
|
AuditUserDetails auditUserDetails,
|
||||||
CustomFieldBase customField,
|
CustomFieldBase customField,
|
||||||
|
|||||||
@ -7,7 +7,7 @@ using eSuite.Core.CustomFields;
|
|||||||
namespace e_suite.Modules.CustomFieldManagerUnitTests.CustomFieldHelperUnitTests;
|
namespace e_suite.Modules.CustomFieldManagerUnitTests.CustomFieldHelperUnitTests;
|
||||||
|
|
||||||
[TestFixture]
|
[TestFixture]
|
||||||
public class CustomFieldValuesListUnitTests : CustomFieldsTestBase
|
public class CustomFieldValuesListUnitTests : CustomFieldsTestBase<object>
|
||||||
{
|
{
|
||||||
[SetUp]
|
[SetUp]
|
||||||
public override async Task Setup() => await base.Setup();
|
public override async Task Setup() => await base.Setup();
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
namespace e_suite.Modules.CustomFieldManagerUnitTests.CustomFieldHelperUnitTests;
|
namespace e_suite.Modules.CustomFieldManagerUnitTests.CustomFieldHelperUnitTests;
|
||||||
|
|
||||||
[TestFixture]
|
[TestFixture]
|
||||||
public class GetFormTemplateByGeneralRefIdAsyncUnitTests : CustomFieldsTestBase
|
public class GetFormTemplateByGeneralRefIdAsyncUnitTests : CustomFieldsTestBase<object>
|
||||||
{
|
{
|
||||||
[SetUp]
|
[SetUp]
|
||||||
public override async Task Setup() => await base.Setup();
|
public override async Task Setup() => await base.Setup();
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
namespace e_suite.Modules.CustomFieldManagerUnitTests.CustomFieldHelperUnitTests;
|
namespace e_suite.Modules.CustomFieldManagerUnitTests.CustomFieldHelperUnitTests;
|
||||||
|
|
||||||
[TestFixture]
|
[TestFixture]
|
||||||
public class GetGlossaryByGeneralRefIdAsyncUnitTests : CustomFieldsTestBase
|
public class GetGlossaryByGeneralRefIdAsyncUnitTests : CustomFieldsTestBase<object>
|
||||||
{
|
{
|
||||||
[SetUp]
|
[SetUp]
|
||||||
public override async Task Setup() => await base.Setup();
|
public override async Task Setup() => await base.Setup();
|
||||||
|
|||||||
@ -5,7 +5,7 @@ using eSuite.Core.CustomFields;
|
|||||||
namespace e_suite.Modules.CustomFieldManagerUnitTests.CustomFieldHelperUnitTests;
|
namespace e_suite.Modules.CustomFieldManagerUnitTests.CustomFieldHelperUnitTests;
|
||||||
|
|
||||||
[TestFixture]
|
[TestFixture]
|
||||||
public class TranslateToCustomFieldDefinitionAsyncUnitTests : CustomFieldsTestBase
|
public class TranslateToCustomFieldDefinitionAsyncUnitTests : CustomFieldsTestBase<object>
|
||||||
{
|
{
|
||||||
[SetUp]
|
[SetUp]
|
||||||
public override async Task Setup() => await base.Setup();
|
public override async Task Setup() => await base.Setup();
|
||||||
|
|||||||
@ -7,7 +7,7 @@ using Sequence = e_suite.Database.Core.Tables.Sequences.Sequence;
|
|||||||
|
|
||||||
namespace e_suite.Modules.CustomFieldManagerUnitTests.CustomFieldManagerUnitTests;
|
namespace e_suite.Modules.CustomFieldManagerUnitTests.CustomFieldManagerUnitTests;
|
||||||
|
|
||||||
public class CreateCustomFieldUnitTest : CustomFieldsTestBase
|
public class CreateCustomFieldUnitTest : CustomFieldsTestBase<object>
|
||||||
{
|
{
|
||||||
[SetUp]
|
[SetUp]
|
||||||
public override async Task Setup() => await base.Setup();
|
public override async Task Setup() => await base.Setup();
|
||||||
@ -27,7 +27,7 @@ public class CreateCustomFieldUnitTest : CustomFieldsTestBase
|
|||||||
MaxEntries = 5,
|
MaxEntries = 5,
|
||||||
Parameters = "{\"multiLine\":false}"
|
Parameters = "{\"multiLine\":false}"
|
||||||
};
|
};
|
||||||
_customFieldManager = new CustomFieldManager(_fakeCustomFieldRepository!, _fakeCustomFieldReferenceRepository, _customFieldHelper);
|
_customFieldManager = new CustomFieldManager(_fakeCustomFieldRepository!, _fakeCustomFieldReferenceRepository, _customFieldHelper, PatchFactoryMock.Object);
|
||||||
_customFieldRepository.Setup(x => x.CreateAsync(It.IsAny<AuditUserDetails>(), It.Is<CustomField>(x => x.Name == "Test"), It.IsAny<CancellationToken>()));
|
_customFieldRepository.Setup(x => x.CreateAsync(It.IsAny<AuditUserDetails>(), It.Is<CustomField>(x => x.Name == "Test"), It.IsAny<CancellationToken>()));
|
||||||
|
|
||||||
//Act
|
//Act
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace e_suite.Modules.CustomFieldManagerUnitTests.CustomFieldManagerUnitTests;
|
namespace e_suite.Modules.CustomFieldManagerUnitTests.CustomFieldManagerUnitTests;
|
||||||
|
|
||||||
public class DeactivateCustomFieldUnitTest : CustomFieldsTestBase
|
public class DeactivateCustomFieldUnitTest : CustomFieldsTestBase<object>
|
||||||
{
|
{
|
||||||
[SetUp]
|
[SetUp]
|
||||||
public override async Task Setup() => await base.Setup();
|
public override async Task Setup() => await base.Setup();
|
||||||
@ -21,7 +21,7 @@ public class DeactivateCustomFieldUnitTest : CustomFieldsTestBase
|
|||||||
Id = 5,
|
Id = 5,
|
||||||
};
|
};
|
||||||
_fakeCustomFieldRepository.CustomFields.Add(customField);
|
_fakeCustomFieldRepository.CustomFields.Add(customField);
|
||||||
_customFieldManager = new CustomFieldManager(_fakeCustomFieldRepository, _customFieldReferenceObjectRepository.Object, _customFieldHelper);
|
_customFieldManager = new CustomFieldManager(_fakeCustomFieldRepository, _customFieldReferenceObjectRepository.Object, _customFieldHelper, PatchFactoryMock.Object);
|
||||||
Assert.ThrowsAsync<NotFoundException>(() => _customFieldManager.DeleteFieldAsync(auditResult, new GeneralIdRef { Guid = Guid.NewGuid() }, default));
|
Assert.ThrowsAsync<NotFoundException>(() => _customFieldManager.DeleteFieldAsync(auditResult, new GeneralIdRef { Guid = Guid.NewGuid() }, default));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -46,7 +46,7 @@ public class DeactivateCustomFieldUnitTest : CustomFieldsTestBase
|
|||||||
[Test]
|
[Test]
|
||||||
public void DeactivateNotexistingCustomfieldthrowsException()
|
public void DeactivateNotexistingCustomfieldthrowsException()
|
||||||
{
|
{
|
||||||
_customFieldManager = new CustomFieldManager(_fakeCustomFieldRepository, _customFieldReferenceObjectRepository.Object, _customFieldHelper);
|
_customFieldManager = new CustomFieldManager(_fakeCustomFieldRepository, _customFieldReferenceObjectRepository.Object, _customFieldHelper, PatchFactoryMock.Object);
|
||||||
Assert.ThrowsAsync<NotFoundException>(() => _customFieldManager.DeleteFieldAsync(auditResult, new GeneralIdRef { Guid = Guid.NewGuid() }, default));
|
Assert.ThrowsAsync<NotFoundException>(() => _customFieldManager.DeleteFieldAsync(auditResult, new GeneralIdRef { Guid = Guid.NewGuid() }, default));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -7,7 +7,7 @@ using Sequence = e_suite.Database.Core.Tables.Sequences.Sequence;
|
|||||||
|
|
||||||
namespace e_suite.Modules.CustomFieldManagerUnitTests.CustomFieldManagerUnitTests;
|
namespace e_suite.Modules.CustomFieldManagerUnitTests.CustomFieldManagerUnitTests;
|
||||||
|
|
||||||
public class EditCustomFieldUnitTests : CustomFieldsTestBase
|
public class EditCustomFieldUnitTests : CustomFieldsTestBase<object>
|
||||||
{
|
{
|
||||||
|
|
||||||
[SetUp]
|
[SetUp]
|
||||||
|
|||||||
@ -2,7 +2,7 @@ using e_suite.API.Common.exceptions;
|
|||||||
|
|
||||||
namespace e_suite.Modules.CustomFieldManagerUnitTests.CustomFieldManagerUnitTests;
|
namespace e_suite.Modules.CustomFieldManagerUnitTests.CustomFieldManagerUnitTests;
|
||||||
|
|
||||||
public class GetCustomByIdFieldUnitTest : CustomFieldsTestBase
|
public class GetCustomByIdFieldUnitTest : CustomFieldsTestBase<object>
|
||||||
{
|
{
|
||||||
[SetUp]
|
[SetUp]
|
||||||
public override async Task Setup()
|
public override async Task Setup()
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace e_suite.Modules.CustomFieldManagerUnitTests.CustomFieldManagerUnitTests;
|
namespace e_suite.Modules.CustomFieldManagerUnitTests.CustomFieldManagerUnitTests;
|
||||||
|
|
||||||
public class GetFieldByNameUnitTest : CustomFieldsTestBase
|
public class GetFieldByNameUnitTest : CustomFieldsTestBase<object>
|
||||||
{
|
{
|
||||||
[SetUp]
|
[SetUp]
|
||||||
public override async Task Setup() => await base.Setup();
|
public override async Task Setup() => await base.Setup();
|
||||||
@ -21,7 +21,7 @@ public class GetFieldByNameUnitTest : CustomFieldsTestBase
|
|||||||
Id = 15,
|
Id = 15,
|
||||||
Name = name,
|
Name = name,
|
||||||
};
|
};
|
||||||
_customFieldManager = new CustomFieldManager(_fakeCustomFieldRepository, _customFieldReferenceObjectRepository.Object, _customFieldHelper);
|
_customFieldManager = new CustomFieldManager(_fakeCustomFieldRepository, _customFieldReferenceObjectRepository.Object, _customFieldHelper, PatchFactoryMock.Object);
|
||||||
_fakeCustomFieldRepository.CustomFields.Add(customField);
|
_fakeCustomFieldRepository.CustomFields.Add(customField);
|
||||||
var res = await _customFieldManager.GetFieldAsync(name,default);
|
var res = await _customFieldManager.GetFieldAsync(name,default);
|
||||||
Assert.Multiple(() =>
|
Assert.Multiple(() =>
|
||||||
|
|||||||
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
namespace e_suite.Modules.CustomFieldManagerUnitTests.CustomFieldManagerUnitTests;
|
namespace e_suite.Modules.CustomFieldManagerUnitTests.CustomFieldManagerUnitTests;
|
||||||
|
|
||||||
public class GetFieldsAsyncUnitTests : CustomFieldsTestBase
|
public class GetFieldsAsyncUnitTests : CustomFieldsTestBase<object>
|
||||||
{
|
{
|
||||||
[SetUp]
|
[SetUp]
|
||||||
public override async Task Setup() => await base.Setup();
|
public override async Task Setup() => await base.Setup();
|
||||||
|
|||||||
@ -5,7 +5,7 @@ using e_suite.UnitTestCore;
|
|||||||
|
|
||||||
namespace e_suite.Modules.CustomFieldManagerUnitTests;
|
namespace e_suite.Modules.CustomFieldManagerUnitTests;
|
||||||
|
|
||||||
public class CustomFieldsTestBase : TestBase
|
public class CustomFieldsTestBase<T> : TestBase
|
||||||
{
|
{
|
||||||
protected Mock<ICustomFieldRepository> _customFieldRepository = null!;
|
protected Mock<ICustomFieldRepository> _customFieldRepository = null!;
|
||||||
protected CustomFieldManager _customFieldManager = null!;
|
protected CustomFieldManager _customFieldManager = null!;
|
||||||
@ -14,6 +14,8 @@ public class CustomFieldsTestBase : TestBase
|
|||||||
protected Mock<ICustomFieldReferenceObjectRepository> _customFieldReferenceObjectRepository = null!;
|
protected Mock<ICustomFieldReferenceObjectRepository> _customFieldReferenceObjectRepository = null!;
|
||||||
protected FakeCustomFieldReferenceRepository _fakeCustomFieldReferenceRepository = null!;
|
protected FakeCustomFieldReferenceRepository _fakeCustomFieldReferenceRepository = null!;
|
||||||
protected ICustomFieldHelper _customFieldHelper = null!;
|
protected ICustomFieldHelper _customFieldHelper = null!;
|
||||||
|
protected Mock<IPatchFactory> PatchFactoryMock = null!;
|
||||||
|
protected Mock<IPatch<T>> PatchMock = null!;
|
||||||
|
|
||||||
public override async Task Setup()
|
public override async Task Setup()
|
||||||
{
|
{
|
||||||
@ -29,6 +31,13 @@ public class CustomFieldsTestBase : TestBase
|
|||||||
_customFieldReferenceObjectRepository = new Mock<ICustomFieldReferenceObjectRepository>();
|
_customFieldReferenceObjectRepository = new Mock<ICustomFieldReferenceObjectRepository>();
|
||||||
_fakeCustomFieldReferenceRepository = new FakeCustomFieldReferenceRepository();
|
_fakeCustomFieldReferenceRepository = new FakeCustomFieldReferenceRepository();
|
||||||
_customFieldHelper = new CustomFieldHelper(_fakeCustomFieldReferenceRepository);
|
_customFieldHelper = new CustomFieldHelper(_fakeCustomFieldReferenceRepository);
|
||||||
_customFieldManager = new CustomFieldManager(_fakeCustomFieldRepository, _fakeCustomFieldReferenceRepository, _customFieldHelper);
|
|
||||||
|
PatchFactoryMock = new Mock<IPatchFactory>();
|
||||||
|
PatchMock = new Mock<IPatch<T>>();
|
||||||
|
PatchFactoryMock
|
||||||
|
.Setup(f => f.Create(It.IsAny<T>()))
|
||||||
|
.Returns(PatchMock.Object);
|
||||||
|
|
||||||
|
_customFieldManager = new CustomFieldManager(_fakeCustomFieldRepository, _fakeCustomFieldReferenceRepository, _customFieldHelper, PatchFactoryMock.Object);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue
Block a user