Exemple #1
0
        public async Task TestAddValidUserCollection()
        {
            // arrange
            var userDtos = new UserDto[] {
                new UserDto {
                    Email = "*****@*****.**", UserRole = UserRole.User
                },
                new UserDto {
                    Email = "*****@*****.**", UserRole = UserRole.User
                },
                new UserDto {
                    Email = "*****@*****.**", UserRole = UserRole.Admin
                },
                new UserDto {
                    Email = "*****@*****.**", UserRole = UserRole.User
                }
            };

            var existingUsers = new User[] {
                new User {
                    Email = "*****@*****.**", UserRole = UserRole.User
                },
                new User {
                    Email = "*****@*****.**", UserRole = UserRole.User
                },
                new User {
                    Email = "*****@*****.**", UserRole = UserRole.User
                }
            };

            _mockUserRepository
            .Setup(x => x.InsertManyAsync(It.IsAny <IEnumerable <User> >()))
            .Returns(Task.FromResult(1));

            _mockUserRepository.Setup(x => x.GetAllAsync()).Returns(Task.FromResult(existingUsers.AsEnumerable()));

            // act
            ActionResult <CreatedDto> response = await _usersController.AddUserCollection(userDtos);

            // assert
            Assert.IsInstanceOf <CreatedResult>(response.Result);
            CreatedResult createdResult = response.Result as CreatedResult;

            Assert.AreEqual(201, createdResult.StatusCode);

            CreatedDto value = createdResult.Value.As <CreatedDto>();

            _mockUserRepository.Verify(x => x.InsertManyAsync(It.IsAny <IEnumerable <User> >()), Times.Once);
        }