public async Task<IResult<int>> CreateCustomFieldAsync(int collectionId, CustomField customField) { IResult<int> result = null; if (customField == null) { result = new ShopTimeResult<int>() { Error = new Error() { CodeNumber = 500, Message = "customField can't be null." }}; } try { customField.StoreId = _token.Store.Id; customField.Type = CustomFieldType.Collection; customField.ParentId = collectionId; if (customField.Key.IsNullOrWhiteSpace() == false && customField.Value.IsNullOrWhiteSpace() == false) { customField.Key = customField.Key.Trim(); customField.Value = customField.Value.Trim(); } customField.AuditInfo = new AuditInfo(_token); await _customFieldRepo.InsertAsync(customField).Complete(err => { if (err != null) { result = new ShopTimeResult<int>() {Error = err}; } result = new ShopTimeResult<int>(customField.Id); }); } catch (Exception ex) { result = new ShopTimeResult<int>() { Error = new Error() { CodeNumber = 500, Message = ex.Message } }; } return result; }
public async Task<IResult> UpdateCustomFieldAsync(CustomField customField) { IResult result = null; if (customField == null) { result = new ShopTimeResult() { Error = new Error() { CodeNumber = 500, Message = "customField can't be null." } }; return result; } if (customField.StoreId != _token.Store.Id) { result = new ShopTimeResult() { Error = new Error() { CodeNumber = 500, Message = "invalid operation." } }; return result; } try { customField.AuditInfo = new AuditInfo(_token); var updateResult = await _customFieldRepo.UpdateAsync(customField); if (updateResult.Error != null) { result = new ShopTimeResult() {Error = updateResult.Error}; return result; } result = new ShopTimeResult(); } catch (Exception ex) { result = new ShopTimeResult() { Error = new Error() { CodeNumber = 500, Message = ex.Message } }; } return result; }
public void CreateCustomFieldTest() { var metaData = new CustomField(); metaData.Id = 5; metaData.Key = "App_Code"; metaData.Value = "ABC123"; var metaResult = new ShopTimeResult<int>(5) {ResultValue = metaData.Id}; var notFoundResult = new ShopTimeResult<int> {Error = new Error() {CodeNumber = 404}}; var badResult = new ShopTimeResult<int> {Error = new Error()}; var metaTask = Task.FromResult<IResult<int>>(metaResult); var noutFoundTask = Task.FromResult<IResult<int>>(notFoundResult); var badTask = Task.FromResult<IResult<int>>(badResult); _collectionServiceMock.Setup(x => x.CreateCustomFieldAsync(6, It.IsAny<CustomField>())).Returns(metaTask); _collectionServiceMock.Setup(x => x.CreateCustomFieldAsync(99, It.IsAny<CustomField>())).Returns(noutFoundTask); _collectionServiceMock.Setup(x => x.CreateCustomFieldAsync(4, It.IsAny<CustomField>())).Returns(badTask); var collectionsController = new CollectionsV1Controller(_collectionServiceMock.Object); //return result var actionResult = collectionsController.CreateCustomFieldAsync(6, new CustomFieldModel()).Result; var response = actionResult as CreatedAtRouteNegotiatedContentResult<int>; response.Content.Should().Be(metaData.Id); response.RouteName.Should().Be("GetCustomFieldById"); response.RouteValues["collectionId"].Should().Be(6); response.RouteValues["metaDataId"].Should().Be(metaData.Id); //result not found test actionResult = collectionsController.CreateCustomFieldAsync(99, new CustomFieldModel()).Result; actionResult.Should().BeOfType<NotFoundResult>(); //bad request actionResult = collectionsController.CreateCustomFieldAsync(4, new CustomFieldModel()).Result; actionResult.Should().BeOfType<BadRequestResult>(); _collectionServiceMock.VerifyAll(); }
public void GetCustomFieldTest() { var data = new List<CustomField>(); for (int i = 1; i < 3; i++) { var singleM = new CustomField(); singleM.Id = i; singleM.Key = "hometext"; singleM.Value = "true"; data.Add(singleM); } var metaResult = new ShopTimeResult<IList<CustomField>>(data); var notFoundResult = new ShopTimeResult<IList<CustomField>> {Error = new Error() {CodeNumber = 404}}; var emptyResult = new ShopTimeResult<IList<CustomField>>(); var metaTask = Task.FromResult<IResult<IList<CustomField>>>(metaResult); var notFoundTask = Task.FromResult<IResult<IList<CustomField>>>(notFoundResult); var emptyTask = Task.FromResult<IResult<IList<CustomField>>>(emptyResult); _collectionServiceMock.Setup(x => x.GetCustomFieldsAsync(3, true)).Returns(metaTask); _collectionServiceMock.Setup(x => x.GetCustomFieldsAsync(99, true)).Returns(notFoundTask); _collectionServiceMock.Setup(x => x.GetCustomFieldsAsync(58, true)).Returns(emptyTask); var collectionsController = new CollectionsV1Controller(_collectionServiceMock.Object); //get meta data var actionResult = collectionsController.GetCustomFieldsAsync(3).Result; var response = actionResult as OkNegotiatedContentResult<IList<CustomFieldModel>>; response.Content.Count.Should().Be(2); var metaModel = response.Content[1]; metaModel.Id.Should().Be(2); metaModel.Key.Should().Be("hometext"); //not found test actionResult = collectionsController.GetCustomFieldsAsync(99).Result; actionResult.Should().BeOfType<NotFoundResult>(); //empty test actionResult = collectionsController.GetCustomFieldsAsync(58).Result; var statusCoderesult = actionResult as StatusCodeResult; statusCoderesult.StatusCode.Should().Be(HttpStatusCode.NoContent); _collectionServiceMock.VerifyAll(); }
public void GetSingleMetaDataTest() { var singleM = new CustomField(); singleM.Id = 108; singleM.Key = "hometext"; singleM.Value = "true"; var metaResult = new ShopTimeResult<CustomField>(singleM); var badResult = new ShopTimeResult<CustomField> {Error = new Error()}; var notFoundResult = new ShopTimeResult<CustomField> {Error = new Error() {CodeNumber = 404}}; var metaTask = Task.FromResult<IResult<CustomField>>(metaResult); var badTask = Task.FromResult<IResult<CustomField>>(badResult); var notFoundTask = Task.FromResult<IResult<CustomField>>(notFoundResult); _collectionServiceMock.Setup(x => x.GetCustomFieldAsync(3, 108)).Returns(metaTask); _collectionServiceMock.Setup(x => x.GetCustomFieldAsync(99, 99)).Returns(notFoundTask); _collectionServiceMock.Setup(x => x.GetCustomFieldAsync(0, 0)).Returns(badTask); var collectionsController = new CollectionsV1Controller(_collectionServiceMock.Object); //single test var actionResult = collectionsController.GetCustomFieldAsync(3, 108).Result; var response = actionResult as OkNegotiatedContentResult<CustomFieldModel>; var metaModel = response.Content; metaModel.Id.Should().Be(singleM.Id); metaModel.Key.Should().Be(singleM.Key); metaModel.Value.Should().Be(singleM.Value); //notFound test actionResult = collectionsController.GetCustomFieldAsync(99, 99).Result; actionResult.Should().BeOfType<NotFoundResult>(); //badresult request actionResult = collectionsController.GetCustomFieldAsync(0, 0).Result; actionResult.Should().BeOfType<BadRequestResult>(); _collectionServiceMock.VerifyAll(); }
public async Task Creaet_CustomFields_with_duplicate_key() { var myCustomField = new CustomField() { Key = "Jason.abc", Value = "true", }; await _collectionService.CreateCustomFieldAsync(1, myCustomField).Error(err => { err.Should().NotBeNull(); }); }
public async Task Creaet_CustomFields() { var myCustomField = new CustomField() { Key = "Jason.abc", Value = "true", }; int newCustomFieldId = 0; await _collectionService.CreateCustomFieldAsync(1, myCustomField).Success(newId => { newCustomFieldId = newId; }); await _collectionService.GetCustomFieldAsync(1, newCustomFieldId).Success(customField => { customField.Should().NotBeNull(); customField.Id.Should().BeGreaterThan(1); customField.Type.Should().Be(CustomFieldType.Collection); customField.ParentId.Should().Be(1); customField.Key.Should().Be(myCustomField.Key); customField.Value.Should().Be(myCustomField.Value); }); }