public async Task UpdatesUpdatedDateOfExistingListWithNow() { const string USER = "******"; const string ID = "id"; var updatedDate = new DateTime(2020, 1, 1); var(context, nowProvider, config) = CreateDeps(dateTime: updatedDate); using (context) { // seed DB context.Lists.Add(new List { Id = ID }); context.SaveChanges(); var dto = new ListDTO { Id = ID, }; var request = new UpdateListRequest(dto, USER); var handler = new UpdateListHandler(context, nowProvider, config); var result = await handler.Handle(request, CancellationToken.None); Assert.AreEqual(updatedDate, context.Lists.First().Updated); } }
public async Task AddsListContributorIfNoneExistForListAndUser() { const string USER = "******"; const string ID = "id"; var(context, nowProvider, config) = CreateDeps(); using (context) { // seed DB context.Lists.Add(new List { Id = ID }); context.SaveChanges(); var dto = new ListDTO { Id = ID, }; var request = new UpdateListRequest(dto, USER); var handler = new UpdateListHandler(context, nowProvider, config); var result = await handler.Handle(request, CancellationToken.None); Assert.AreEqual(1, context.ListContributors.Count()); Assert.AreEqual(ID, context.ListContributors.First().ListId); Assert.AreEqual(USER, context.ListContributors.First().UserIdent); } }
public async Task <MessageOutputBase> UpdateList([FromBody] UpdateListRequest request) { MessageOutputBase result = null; request.UserName = GetCurrentUser(); await Execute(flow => { flow.StartRegisterFlow() .Add <CheckUserExistsStep>() .Add <CheckListExistsStep>() .Add <UpdateListStep>(); flow. When <UserNotFoundStep, UserNotFoundParams>(notFound => { result = notFound.Response; }) . When <ListNotFoundStep, ListNotFoundParams>(notFound => { result = notFound.Response; }) .When <UpdateListStep, UpdateListParams>(update => { result = update.Response; }); }, request, error => { result = error; }); return(result); }
public async Task UpdatesNameOfExistingListWithDTOName() { const string USER = "******"; const string ID = "id"; const string OLD_NAME = "old name"; const string NEW_NAME = "new name"; var(context, nowProvider, config) = CreateDeps(); using (context) { // seed DB context.Lists.Add(new List { Id = ID, Name = OLD_NAME }); context.SaveChanges(); var dto = new ListDTO { Id = ID, Name = NEW_NAME }; var request = new UpdateListRequest(dto, USER); var handler = new UpdateListHandler(context, nowProvider, config); var result = await handler.Handle(request, CancellationToken.None); Assert.AreEqual(NEW_NAME, context.Lists.First().Name); } }
public void AskUpdate() { var update = new UpdateListRequest() { Update = true }; Messenger.Default.Send(update); }
public void FailsWhenUserIdentEmpty() { var request = new UpdateListRequest(null, ""); var validator = new UpdateListValidator(); var failures = validator.ShouldHaveValidationErrorFor(r => r.UserIdent, request); Assert.AreEqual(1, failures.Count()); Assert.AreEqual("UserIdent must not be empty", failures.First().ErrorMessage); }
public void PassesOnSetUserIdent() { const string USER = "******"; var request = new UpdateListRequest(null, USER); var validator = new UpdateListValidator(); validator.ShouldNotHaveValidationErrorFor(r => r.UserIdent, request); }
public void FailsWhenIdNull() { const string USER = "******"; var request = new UpdateListRequest(new ListDTO(), USER); var validator = new UpdateListValidator(); var failures = validator.ShouldHaveValidationErrorFor(r => r.DTO.Id, request); Assert.AreEqual(1, failures.Count()); Assert.AreEqual("DTO Id must not be empty", failures.First().ErrorMessage); }
/// <summary> /// Updates a custom list asyncronously /// </summary> /// <param name="listId">The ID of the list to update</param> /// <param name="parameters">The options to use while updating the list</param> /// <param name="cancellationToken">Token allowing the request to be cancelled</param> /// <returns>The updated list</returns> public async Task <CustomList> UpdateAsync(int listId, UpdateListParameters parameters, CancellationToken cancellationToken = default(CancellationToken)) { Ensure.IsNotNull(parameters, nameof(parameters)); var request = new UpdateListRequest(parameters); var url = UrlProvider.GetV1ListUpdateUrl(listId); return((await PutJsonAsync <UpdateListResponse>(url, request, cancellationToken)).Payload.List); }
public void PassesWhenIdSet() { const string USER = "******"; var request = new UpdateListRequest(new ListDTO { Id = "a" }, USER); var validator = new UpdateListValidator(); validator.ShouldNotHaveValidationErrorFor(r => r.DTO.Id, request); }
public HttpResponseMessage UpdateList(UpdateListRequest request, int id) { var response = new UpdateListResponse(); if (_sessionManager.IsActive(request.SessionId)) { _listManager.AddListToDatabase(request.List); return(Request.CreateResponse(HttpStatusCode.OK, response)); } else { return(Request.CreateResponse(HttpStatusCode.Conflict, response)); } }
public void FailsOnListItemDTONullId() { const string USER = "******"; var request = new UpdateListRequest(new ListDTO { Items = new List <ListItemDTO> { new ListItemDTO() } }, USER); var validator = new UpdateListValidator(); var result = validator.TestValidate(request); var failures = result.ShouldHaveValidationErrorFor("DTO.Items[0].Id"); Assert.AreEqual(1, failures.Count()); Assert.AreEqual("List Item Id must not be empty", failures.First().ErrorMessage); }
public async Task DoesNothingIfNoExistingFoundForId() { const string USER = "******"; const string ID = "id"; var(context, nowProvider, config) = CreateDeps(); using (context) { var dto = new ListDTO { Id = ID }; var request = new UpdateListRequest(dto, USER); var handler = new UpdateListHandler(context, nowProvider, config); var result = await handler.Handle(request, CancellationToken.None); // assert nothing an exception means failure } }
public void PassesOnSetItemId() { const string USER = "******"; var request = new UpdateListRequest(new ListDTO { Items = new List <ListItemDTO> { new ListItemDTO { Id = "a" } } }, USER); var validator = new UpdateListValidator(); var result = validator.TestValidate(request); result.ShouldNotHaveValidationErrorFor("DTO.Items[0].Id"); }
public async Task ReturnsUnitValue() { const string USER = "******"; const string ID = "id"; var(context, nowProvider, config) = CreateDeps(); using (context) { var dto = new ListDTO { Id = ID, }; var request = new UpdateListRequest(dto, USER); var handler = new UpdateListHandler(context, nowProvider, config); var result = await handler.Handle(request, CancellationToken.None); Assert.AreEqual(Unit.Value, result); } }
public async Task ThrowsExceptionWhenListItemLimitReached() { const string USER = "******"; const string ID = "id"; var(context, nowProvider, _) = CreateDeps(); var config = CreateConfigWithListItemLimit(0); using (context) { var dto = new ListDTO { Id = ID }; var request = new UpdateListRequest(dto, USER); var handler = new UpdateListHandler(context, nowProvider, config); await Assert.ThrowsExceptionAsync <RequestFailedException>(() => handler.Handle(request, CancellationToken.None)); } }
public void TestUpdateList() { string remoteFileName = "TestUpdateList.doc"; this.UploadFileToStorage( remoteDataFolder + "/" + remoteFileName, null, null, File.ReadAllBytes(LocalTestDataFolder + localFile) ); var request = new UpdateListRequest( name: remoteFileName, listId: 1, listUpdate: new ListUpdate() { IsRestartAtEachSection = true }, folder: remoteDataFolder ); var actual = this.WordsApi.UpdateList(request); }
public async Task UpdatesListItemCompleted() { const string USER = "******"; const string ID = "id"; const string ITEM_ID = "1"; const bool COMPLETED = true; var(context, nowProvider, config) = CreateDeps(); using (context) { // seed DB context.Lists.Add(new List { Id = ID }); context.SaveChanges(); var dto = new ListDTO { Id = ID, Items = new List <ListItemDTO> { new ListItemDTO { Id = ITEM_ID, Completed = COMPLETED } } }; var request = new UpdateListRequest(dto, USER); var handler = new UpdateListHandler(context, nowProvider, config); var result = await handler.Handle(request, CancellationToken.None); Assert.AreEqual(1, context.ListItems.Count()); Assert.AreEqual(COMPLETED, context.ListItems.First().Completed); } }
public async Task RemovesOldListItemsForList() { const string USER = "******"; const string ID = "id"; const string ITEM_ID = "1"; var(context, nowProvider, config) = CreateDeps(); using (context) { // seed DB context.Lists.Add(new List { Id = ID, Items = new List <ListItem> { new ListItem() { Id = ITEM_ID } } }); context.SaveChanges(); var dto = new ListDTO { Id = ID }; var request = new UpdateListRequest(dto, USER); var handler = new UpdateListHandler(context, nowProvider, config); var result = await handler.Handle(request, CancellationToken.None); Assert.AreEqual(0, context.ListItems.Count()); } }
/// <summary> /// Load lins in interface /// </summary> /// <param name="obj"></param> private void UpdateList(UpdateListRequest obj) { LoadLinks(); }