Esempio n. 1
0
        private async Task Update_User_Changes_Its_Name()
        {
            // GIVEN a user
            var userAddedRef = await CreateSampleUser();

            // WHEN changing the user's name
            var dto = new UserAddUpdRequest
            {
                FirstName = "David",
                LastName  = SampleLastName,
                Email     = SampleEmail
            };
            var userUpdated = await _userCommandService.Update(userAddedRef.Id !, dto);

            await SaveChanges();

            // THEN
            Assert.True(userUpdated.IsSuccess);
            // The ID of the edited user remains the same
            Assert.Equal(userAddedRef.Id, userUpdated.Value.Id);

            // the user's name in the DB is correct
            var user = await _userQueryService.GetById(userAddedRef.Id !);

            Assert.True(user.IsSuccess);
            Assert.Equal("David", user.Value.FirstName);
            Assert.Equal(SampleLastName, user.Value.LastName);
        }
Esempio n. 2
0
        public async Task <IDomainResult <UserReference> > Create(UserAddUpdRequest dto)
        {
            var user = dto.ConvertToUser();
            await DbSession.StoreAsync(user);

            var response = user.ToReference().RemoveEntityPrefixFromId();

            return(DomainResult.Success(response));
        }
Esempio n. 3
0
        private async Task <(string, string)> SeedTwoUsers()
        {
            var dto = new UserAddUpdRequest {
                FirstName = "Homer", LastName = "Simpson"
            };
            var homerId = (await _userCmdService.Create(dto)).Value.Id !;

            dto.FirstName = "Marge";
            var margeId = (await _userCmdService.Create(dto)).Value.Id !;

            await SaveChanges();

            return(homerId, margeId);
        }
Esempio n. 4
0
        private async Task <string> SeedCurrentUsers()
        {
            var dto = new UserAddUpdRequest {
                FirstName = "Homer", LastName = "Simpson"
            };
            var homer = await _userCmdService.Create(dto);

            if (!homer.IsSuccess)
            {
                throw new Exception("Failed to create a user for Homer");
            }
            await SaveChanges();

            return(homer.Value.Id !);
        }
Esempio n. 5
0
        private async Task <UserReference> UpdateUser(string id, string firstName, string lastName)
        {
            var dto = new UserAddUpdRequest {
                FirstName = firstName, LastName = lastName
            };
            var updatedRef = await _userCommandService.Update(id, dto);

            if (!updatedRef.IsSuccess)
            {
                throw new Exception("Failed to update a user");
            }

            await SaveChanges();

            return(updatedRef.Value);
        }
        private async Task <UserReference> CreateSampleUser()
        {
            var dto = new UserAddUpdRequest
            {
                FirstName = "Homer",
                LastName  = "Simpson"
            };
            var userAdded = await _userCommandService.Create(dto);

            if (!userAdded.IsSuccess)
            {
                throw new Exception("Failed to create a user");
            }
            await SaveChanges();

            return(userAdded.Value);
        }
Esempio n. 7
0
        private async Task <UserReference> CreateSampleUser()
        {
            var dto = new UserAddUpdRequest
            {
                FirstName = SampleFirstName,
                LastName  = SampleLastName,
                Email     = SampleEmail
            };
            var userAddedRes = await _userCommandService.Create(dto);

            if (!userAddedRes.IsSuccess)
            {
                throw new System.Exception("Can't create a user");
            }
            await SaveChanges();

            return(userAddedRes.Value);
        }
Esempio n. 8
0
        private async Task <UserReference> CreateUser(string firstName, string lastName, string email)
        {
            var dto = new UserAddUpdRequest
            {
                FirstName = firstName,
                LastName  = lastName,
                Email     = email
            };
            var userAddedRes = await _userCommandService.Create(dto);

            if (!userAddedRes.IsSuccess)
            {
                throw new System.Exception($"Can't create '{firstName} {lastName}' user");
            }
            await SaveChanges();

            return(userAddedRes.Value);
        }
Esempio n. 9
0
        public async Task <IDomainResult <UserReference> > Update(string id, UserAddUpdRequest dto)
        {
            var fullId = GetFullId(id);

            var user = await DbSession.LoadAsync <User>(fullId);

            if (user == null)
            {
                return(DomainResult.NotFound <UserReference>());
            }

            var newRef = dto.ConvertToUser(user).ToReference().RemoveEntityPrefixFromId();

            // Update the name in all references to this user
            foreach (var updateUserRef in _updateUserReferences)
            {
                updateUserRef.UpdateReferences(newRef);
            }

            return(DomainResult.Success(newRef));
        }
Esempio n. 10
0
        private async Task <(string, string)> SeedTwoUsers()
        {
            var dto = new UserAddUpdRequest {
                FirstName = "Homer", LastName = "Simpson"
            };
            var homer = await _userCmdService.Create(dto);

            if (!homer.IsSuccess)
            {
                throw new Exception("Failed to create a user for Homer");
            }

            dto.FirstName = "Marge";
            var marge = await _userCmdService.Create(dto);

            if (!marge.IsSuccess)
            {
                throw new Exception("Failed to create a user for Marge");
            }

            await SaveChanges();

            return(homer.Value.Id !, marge.Value.Id !);
        }
Esempio n. 11
0
 public Task <ActionResult <UserReference> > Update([FromServices] IUserCommandService service,
                                                    [FromRoute] string id,
                                                    UserAddUpdRequest dto
                                                    )
 => service.Update(id, dto).ToActionResultOfT();
Esempio n. 12
0
 public Task <ActionResult <UserReference> > Create([FromServices] IUserCommandService service, UserAddUpdRequest dto) => service.Create(dto).ToActionResultOfT();