コード例 #1
0
        public async void 管理ユーザーの一覧ビューモデルを生成する()
        {
            // Arrange
            var operators = new List <Operator>
            {
                new Operator(
                    "管理太郎",
                    new EmailAddress("*****@*****.**"),
                    new LoginId("AdministratorId")
                    )
                {
                    Id = 1
                },
                new Operator(
                    "大会太郎",
                    new EmailAddress("*****@*****.**"),
                    new LoginId("TournamentCreatorId")
                    )
                {
                    Id = 2
                },
                new Operator(
                    "記録太郎",
                    new EmailAddress("*****@*****.**"),
                    new LoginId("RecorderId")
                    )
                {
                    Id = 3
                },
            };

            var administratorRoleUser = new List <ApplicationUser>()
            {
                new ApplicationUser()
                {
                    UserName = "******", Id = ""
                }
            };
            var tournamentCreatorRoleUser = new List <ApplicationUser>()
            {
                new ApplicationUser()
                {
                    UserName = "******", Id = ""
                }
            };
            var recorderRoleUser = new List <ApplicationUser>()
            {
                new ApplicationUser()
                {
                    UserName = "******", Id = ""
                }
            };

            var mockOperatorUseCase       = new Mock <IOperatorUseCase>();
            var mockaAuthorizationUseCase = new Mock <IAuthorizationUseCase>();
            var mockUserManager           = this.GetMockUserManager();

            mockOperatorUseCase.Setup(m => m.GetOperators())
            .ReturnsAsync(operators)
            .Verifiable();
            mockUserManager.Setup(m => m.GetUsersInRoleAsync("Administrator"))
            .ReturnsAsync(administratorRoleUser)
            .Verifiable();
            mockUserManager.Setup(m => m.GetUsersInRoleAsync("TournamentCreator"))
            .ReturnsAsync(tournamentCreatorRoleUser)
            .Verifiable();
            mockUserManager.Setup(m => m.GetUsersInRoleAsync("Recorder"))
            .ReturnsAsync(recorderRoleUser)
            .Verifiable();
            var service = new OperatorService(mockOperatorUseCase.Object, mockaAuthorizationUseCase.Object, mockUserManager.Object);

            // Act
            var result = await service.CreateIndexViewModel();

            // Assert
            mockOperatorUseCase.Verify();
            mockUserManager.Verify();
            Assert.IsType <IndexViewModel>(result);
            Assert.Equal(3, result.Operators.Count);
        }