public void UserResource_ValidModel_NoModelValidationError() { var userResourceViewModel = new UserResourceViewModel { ResourceId = Guid.NewGuid(), }; Assert.IsTrue(!this.ValidateModel(userResourceViewModel).Any()); }
public void UserResource_EmptyResourceId_ModelValidationError() { var userResourceViewModel = new UserResourceViewModel { ResourceId = Guid.Empty, }; var modelValidationResult = this.ValidateModel(userResourceViewModel); Assert.IsTrue(modelValidationResult.Any( v => v.ErrorMessage.Contains("empty GUID"))); }
public UserResourceViewModel Get(string basePath, string path, string id) { var resources = new UserResourceViewModel { FileNames = new List <string> { id }, Directory = $@"/Content/Uploads/{path}/" }; return(resources); }
public UserResourceViewModel getAll(string basePath, string userId) { var path = Path.Combine(basePath, userId); if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } var fileNames = Directory.GetFiles(Path.Combine(basePath, userId)).ToList().Select(p => Path.GetFileName(p)); var resources = new UserResourceViewModel { FileNames = fileNames, Directory = $@"/Content/Uploads/{userId}/" }; return(resources); }
public async Task <IActionResult> PostAsync(UserResourceViewModel userResourceDetail) { this.RecordEvent("User Resource- Http Post Call initiated.", RequestType.Initiated); this.logger.LogInformation($"User Resource- Http Post Call initiated."); try { if (userResourceDetail == null) { this.logger.LogError($"Error while saving user resource details to storage for userId: {this.UserObjectId}"); this.RecordEvent("User Resource - Http Post call failed.", RequestType.Failed); return(this.BadRequest("Error while saving user resource details in storage.")); } var userResourceEntity = new UserResource { UserId = this.UserObjectId, ResourceId = userResourceDetail.ResourceId, CreatedOn = DateTime.UtcNow, }; var userResorces = await this.unitOfWork.UserResourceRepository.FindAsync(userResorce => userResorce.ResourceId == userResourceEntity.ResourceId && userResorce.UserId == userResourceEntity.UserId); if (userResorces.Any()) { this.logger.LogInformation($"User Resource - Http Post call succeeded."); this.RecordEvent("User Resource - Http Post call succeeded.", RequestType.Succeeded); return(this.Conflict(true)); } this.unitOfWork.UserResourceRepository.Add(userResourceEntity); await this.unitOfWork.SaveChangesAsync(); this.logger.LogInformation($"User Resource - Http Post call succeeded."); this.RecordEvent("User Resource - Http Post call succeeded.", RequestType.Succeeded); return(this.Ok(true)); } catch (Exception ex) { this.RecordEvent("User Resource - Http Post call failed.", RequestType.Failed); this.logger.LogError(ex, $"User Resource - Http Post call failed for user id: {this.UserObjectId}."); throw; } }
public async Task PostAsync_SaveUserResource_ReturnsOkResult() { // ARRANGE var userResource = new UserResourceViewModel { ResourceId = Guid.NewGuid(), }; var userresourceEntityModel = new UserResource { ResourceId = userResource.ResourceId, }; var userResourceList = new List <UserResource>(); this.unitOfWork.Setup(uow => uow.UserResourceRepository.FindAsync(It.IsAny <Expression <Func <UserResource, bool> > >())).ReturnsAsync(userResourceList); // ACT var result = (ObjectResult)await this.userResourceController.PostAsync(userResource); var resultValue = result.Value; // ASSERT Assert.AreEqual(result.StatusCode, StatusCodes.Status200OK); Assert.AreEqual(result.Value, true); }
public async Task PostAsync_RecordAlreadyExist_ReturnsConflictStatus() { // ARRANGE var userResource = new UserResourceViewModel { ResourceId = Guid.NewGuid(), }; var userresourceEntityModel = new UserResource { ResourceId = userResource.ResourceId, }; var userResourceList = new List <UserResource> { userresourceEntityModel, }; this.unitOfWork.Setup(uow => uow.UserResourceRepository.FindAsync(It.IsAny <Expression <Func <UserResource, bool> > >())).ReturnsAsync(userResourceList); // ACT var result = (ObjectResult)await this.userResourceController.PostAsync(userResource); // ASSERT Assert.AreEqual(result.StatusCode, StatusCodes.Status409Conflict); }