Ejemplo n.º 1
0
        public async Task ListUsersByPageAsync_Success_GetLastPageNextPage()
        {
            //arrange
            var Users = new List <User>();

            for (int i = 1; i < 100; i++)
            {
                Users.Add(new User {
                    Username = string.Format("Agent{0}", i)
                });
            }
            IEntityGateway entityGateway = await InMemoryEntityGatewayFactory.CreateEntityGatewayAsync(Users.ToArray());

            IListUserByPagePresenter   presenter  = new FakeListUsersByPagePresenter(_output);
            IListUsersByPageInteractor interactor = new ListUsersByPageInteractor(presenter, entityGateway);
            ListUsersByPageInputModel  inputModel = new ListUsersByPageInputModel {
                PageNumber = 5, UsersPerPage = 25
            };

            //act
            var result = await interactor.ListUsersByPageAsync(inputModel);

            //assert
            Assert.NotNull(result);
            Assert.True(result.Status == Application.Common.CommandResultStatusCode.Success);
            Assert.Null(result.ModelValidationErrors);
            Assert.NotNull(result.OutputModel);
            Assert.NotNull(result.OutputModel.Page);
            Assert.True(result.OutputModel.Page.ItemsCount == 0, "Item Count");
            Assert.True(result.OutputModel.Page.TotalItems == 99, "Total Items");
            Assert.True(result.OutputModel.Page.TotalPages == 4, "Total Pages");
        }
Ejemplo n.º 2
0
        public async Task AddMembersToClubAsync_CommandResult_UsersToAddNotFoundByUsername()
        {
            //arrange
            string existingClubName = "C# Knights";
            var    clubsToPreload   = new Club[] { new Club {
                                                       Name = existingClubName
                                                   } };
            var members = new User[] { new User {
                                           Username = "******"
                                       } };
            IEntityGateway entityGateway = await InMemoryEntityGatewayFactory.CreateEntityGatewayAsync(clubsToPreload);

            IAddMembersToClubPresenter  presenter  = new FakeAddMembersToClubPresenter(_output);
            IAddMembersToClubInteractor interactor = new AddMembersToClubInteractor(presenter, entityGateway);
            AddMembersToClubInputModel  inputModel = new AddMembersToClubInputModel {
                ClubModel = new Domain.Model.ClubModel {
                    Name = existingClubName
                }, UserModelsToAdd = members.Select(member => member.GetModel()).ToList()
            };

            //act
            var result = await interactor.AddMembersToClubAsync(inputModel);

            //assert
            Assert.NotNull(result);
            Assert.True(result.Status == Application.Common.CommandResultStatusCode.UsersInListNotFound);
        }
Ejemplo n.º 3
0
        public async Task AddMembersToClubAsync_CommandResult_ClubNotFoundById()
        {
            //arrange
            var    nonExistingClubId      = Guid.NewGuid();
            string existingMemberUsername = "******";
            var    members = new User[] { new User {
                                              Username = existingMemberUsername
                                          } };
            IEntityGateway entityGateway = await InMemoryEntityGatewayFactory.CreateEntityGatewayAsync(members);

            IAddMembersToClubPresenter  presenter  = new FakeAddMembersToClubPresenter(_output);
            IAddMembersToClubInteractor interactor = new AddMembersToClubInteractor(presenter, entityGateway);
            AddMembersToClubInputModel  inputModel = new AddMembersToClubInputModel {
                ClubModel = new Domain.Model.ClubModel {
                    Id = nonExistingClubId
                }, UserModelsToAdd = members.Select(member => member.GetModel()).ToList()
            };

            //act
            var result = await interactor.AddMembersToClubAsync(inputModel);

            //assert
            Assert.NotNull(result);
            Assert.True(result.Status == Application.Common.CommandResultStatusCode.ClubNotFound);
        }
        public async Task AddUserAsyncExistingUserUsernameDifferentCase_CommandResult_DuplicateEntry()
        {
            //arrange
            string duplicatedUsername = "******";
            var    users = new User[] { new User {
                                            Username = duplicatedUsername
                                        } };
            IEntityGateway entityGateway = await InMemoryEntityGatewayFactory.CreateEntityGatewayAsync(users);

            IAddUserPresenter  presenter  = new FakeAddUserPresenter(_output);
            IAddUserInteractor interactor = new AddUserInteractor(presenter, entityGateway);
            AddUserInputModel  inputModel = new AddUserInputModel {
                Username = duplicatedUsername.ToUpperInvariant()
            };

            //act
            var result = await interactor.AddUserAsync(inputModel);

            //assert
            Assert.NotNull(result);
            Assert.True(result.Status == Application.Common.CommandResultStatusCode.DuplicateEntry);
        }
        public async Task AddClubAsyncExistingClubNameDifferentCase_CommandResult_DuplicateEntry()
        {
            //arrange
            string duplicatedClubName = "C# Knights";
            var    clubsToPreload     = new Club[] { new Club {
                                                         Name = duplicatedClubName
                                                     } };
            IEntityGateway entityGateway = await InMemoryEntityGatewayFactory.CreateEntityGatewayAsync(clubsToPreload);

            IAddClubPresenter  presenter  = new FakeAddClubPresenter(_output);
            IAddClubInteractor interactor = new AddClubInteractor(presenter, entityGateway);
            AddClubInputModel  inputModel = new AddClubInputModel {
                Name = duplicatedClubName.ToLowerInvariant()
            };

            //act
            var result = await interactor.AddClubAsync(inputModel);

            //assert
            Assert.NotNull(result);
            Assert.True(result.Status == Application.Common.CommandResultStatusCode.DuplicateEntry);
        }
Ejemplo n.º 6
0
        public async Task AddMembersToClubAsync_CommandResult_MissingUsersToAddFromInput2()
        {
            //arrange
            string existingClubName = "C# Knights";
            var    clubsToPreload   = new Club[] { new Club {
                                                       Name = existingClubName
                                                   } };
            IEntityGateway entityGateway = await InMemoryEntityGatewayFactory.CreateEntityGatewayAsync(clubsToPreload);

            IAddMembersToClubPresenter  presenter  = new FakeAddMembersToClubPresenter(_output);
            IAddMembersToClubInteractor interactor = new AddMembersToClubInteractor(presenter, entityGateway);
            AddMembersToClubInputModel  inputModel = new AddMembersToClubInputModel {
                ClubModel = new Domain.Model.ClubModel {
                    Name = existingClubName
                }, UserModelsToAdd = null
            };

            //act
            var result = await interactor.AddMembersToClubAsync(inputModel);

            //assert
            Assert.NotNull(result);
            Assert.True(result.Status == Application.Common.CommandResultStatusCode.MissingUsersToAdd);
        }