public void IDomainResult_Response_Test(Func <IDomainResult> method, DomainOperationStatus expectedStatus, IEnumerable <string> expectedErrMessages) { var domainResult = method(); if (expectedStatus == DomainOperationStatus.Success) { Assert.True(domainResult.IsSuccess); } Assert.Equal(expectedStatus, domainResult.Status); Assert.Equal(expectedErrMessages, domainResult.Errors); }
/// <summary> /// Creates a new instance with a 'error'/'not found' status and error messages /// </summary> /// <param name="status"> The state </param> /// <param name="errors"> Custom error messages </param> public DomainResult(DomainOperationStatus status, IEnumerable <string> errors) { Status = status; Errors = errors.ToArray(); }
/// <summary> /// Creates a new instance with a specified status and error messages /// </summary> /// <param name="status"> The state </param> /// <param name="error"> Optional custom error messages </param> protected DomainResult(DomainOperationStatus status, string?error) : this(status, !string.IsNullOrEmpty(error) ? new[] { error } : Array.Empty <string>()) { }
public async Task Task_IDomainResult_Value_Response_Test(Func <Task <IDomainResult <int> > > method, DomainOperationStatus expectedStatus, IEnumerable <string> expectedErrMessages) { var domainResult = await method(); if (expectedStatus == DomainOperationStatus.Success) { Assert.True(domainResult.IsSuccess); Assert.True(domainResult.Value > 0); } Assert.Equal(expectedStatus, domainResult.Status); Assert.Equal(expectedErrMessages, domainResult.Errors); }