Beispiel #1
0
        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);
            }
        }
Beispiel #2
0
        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);
            }
        }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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);
        }
Beispiel #11
0
        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);
        }
Beispiel #13
0
        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");
        }
Beispiel #15
0
        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);
            }
        }
Beispiel #16
0
        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);
        }
Beispiel #18
0
        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);
            }
        }
Beispiel #19
0
        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());
            }
        }
Beispiel #20
0
 /// <summary>
 /// Load lins in interface
 /// </summary>
 /// <param name="obj"></param>
 private void UpdateList(UpdateListRequest obj)
 {
     LoadLinks();
 }