Ejemplo n.º 1
0
 public void Initialize()
 {
     AutoMapperConfigurator.Configure();
     _repositoryMock = new Mock<IRepository<StoredUser>>();
     _storedUser = new StoredUser {Id = 0, Name = "name", MetaData = "metaData"};
     _user = new User {Id = 0, Name = "name", MetaData = "metaData"};
 }
        public async Task CreateUser_Null_ErrorThrown()
        {
            // Arrange 
            var user = new StoredUser {Name = "William", MetaData = "Researcher"};

            // Act 
            await _repository.Create(null);

            _context.Users.Should().HaveCount(0);
            _context.Users.First().Should().Be(null);
        }
        public async Task Create_SaveChanged_IsCalled()
        {
            // Arrange
            var user = new StoredUser();

            // Act
            var id = await _repository.Create(user);

            // Assert
            _context.Verify(c => c.SaveChangesAsync(), Times.Once);
        }
        public async Task Create_Add_IsCalled()
        {
            // Arrange
            var validUser = new StoredUser {Id = 0, Name = "Steven", MetaData = "Researcher"};

            // Act 
            await _repository.Create(validUser);

            // Assert
            _context.Verify(c => c.Add(validUser), Times.Once);
        }
        public async Task InsertUser_ValidUser_UserWasAddedCorrectly()
        {
            // Arrange
            const string name = "William";
            const string metadata = "Researcher";
            var user = new StoredUser { Name = name, MetaData = "Researcher" };

            // Act
            await _repository.Create(user);

            // Assert
            _context.Users.Should().HaveCount(1);
            _context.Users.First().Should().NotBeNull();
            _context.Users.First().Name.Should().Be(name);
            _context.Users.First().MetaData.Should().Be(metadata);
        }
        public async Task Update_InvalidUser_ReturnsFalse()
        {
            //Arrange
            var newUser = new StoredUser();

            // Act
            var isUpdated = await _repository.UpdateIfExists(newUser);

            // Assert
            Assert.IsFalse(isUpdated);
        }
        public async Task Update_ValidUser_ReturnsTrue()
        {
            // Arrange 
            var firstUserUpdated = new StoredUser {Id = 1, Name = "William Parker", MetaData = "Validator"};

            // Act 
            var isUpdated = await _repository.UpdateIfExists(firstUserUpdated);

            // Assert
            Assert.IsTrue(isUpdated);
        }
        public async Task Update_SaveChangesAsync_IsCalled()
        {
            // Arrange 
            var firstUserUpdated = new StoredUser {Id = 1, Name = "William Parker", MetaData = "Validator"};

            // Act 
            await _repository.UpdateIfExists(firstUserUpdated);

            // Assert
            _context.Verify(c => c.SaveChangesAsync(), Times.Once);
        }
        public async Task Update_FindAsync_IsCalled()
        {
            // Arrange 
            var firstUserUpdated = new StoredUser {Id = 1, Name = "William Parker", MetaData = "Validator"};
            _mockSet.Setup(t => t.FindAsync(1))
                .Returns(Task.FromResult(It.IsAny<StoredUser>()));

            // Act 
            await _repository.UpdateIfExists(firstUserUpdated);

            // Assert
            _mockSet.Verify(m => m.FindAsync(1), Times.Once);
        }
        [TestMethod, ExpectedException(typeof(DbEntityValidationException))] // Assert 
        public async Task InsertUser_InvalidUser_RequiredNameMissing()
        {
            // Arrange
            var user = new StoredUser { MetaData = "Researcher" };

            // Act
            await _repository.Create(user);

            // Assert
            _context.Users.Should().HaveCount(0);
            _context.Users.First().Should().BeNull();
            _context.Users.First().Name.Should().Be(null);
            _context.Users.First().MetaData.Should().Be(null);
        }
Ejemplo n.º 11
0
        public void GetAllUsers_Valid_ReturnsCorrectUsers_Test()
        {
            //Arrange
            var user1 = new StoredUser {Name = "name1", MetaData = "metaData1"};
            var user2 = new StoredUser {Name = "name2", MetaData = "metaData2"};
            var user3 = new StoredUser {Name = "name3", MetaData = "metaData3"};
            var list = new List<StoredUser> {user1, user2, user3}.AsQueryable();
            _repositoryMock.Setup(r => r.Read()).Returns(list);
            var adapter = new UserAdapter(_repositoryMock.Object);

            //Act
            var result = adapter.Read();
            var actualUsers = result.ToList();

            //Assert
            var counter = 0;
            foreach (var actualUser in list.AsEnumerable())
            {
                var returnedUser = actualUsers[counter];
                Assert.IsTrue(returnedUser.Name == actualUser.Name);
                Assert.IsTrue(returnedUser.MetaData == actualUser.MetaData);
                Assert.IsTrue(returnedUser.Id == actualUser.Id);
                counter++;
            }
        }
        public async Task DeleteUser_ExistingUser_UserIdDeleted()
        {
            // Arrange
            var user = new StoredUser { Name = "William", MetaData = "Researcher" };

            // Act
            await _repository.Create(user);
            await _repository.DeleteIfExists(1);

            // Assert
            _context.Users.Should().BeEmpty();
        }
        public async Task UpdateUser_ExistingUser_UserIsUpdated()
        {
            // Arrange
            var user = new StoredUser { Id = 1, Name = "William", MetaData = "Researcher"};
            //var updatedUser = //--= new StoredUser { Id = 1, Name = "Peter", MetaData = "Validator"};

            // Act
            await _repository.Create(user);
            
            user.Name = "Peter";

            await _repository.UpdateIfExists(user);

            // Assert
            _context.Users.First().Should().NotBeNull();
            _context.Users.First().Name.Should().Be("Peter");
        }
        public async Task InsertTeam_WithUser_SavesUserInDatabase()
        {
            // Arrange
            var user = new StoredUser { Name = "William", MetaData = "Researcher" };

            var team = new StoredTeam
            {
                Id = 1,
                MetaData = "Team data",
                Name = "Team x",
                Users = new List<StoredUser> { user }
            };

            var teamRepository = new TeamRepository(_context);

            // Act 
            await teamRepository.Create(team);


            // Assert
            _context.Teams.Should().HaveCount(1);
            _context.Users.First().Should().NotBeNull(); // Should have created User also 
            _context.Teams.First().Users.Should().NotBeNull();
        }
        public void GetUser_WithExistingId_ReturnsUser()
        {
            // Arrange
            var user = new StoredUser {Id = 1, Name = "William", MetaData = "Researcher"};
            _repository.Create(user);

            // Act
            var retrievedUser = _repository.Read(user.Id).Result;

            // Assert
            user.Name.Should().Be(retrievedUser.Name);
            user.Id.Should().Be(retrievedUser.Id);
        }
        public async Task InsertUser_InValidNameLength_ErrorThrown()
        {
            // Arrange 
            var validNameLength = new string(new char[51]);
            const string metadata = "Researcher";
            var user = new StoredUser { Name = validNameLength, MetaData = "Researcher" };

            // Act 
            await _repository.Create(user);

            // Assert 
            _context.Users.Should().HaveCount(0);
            _context.Users.First().Should().BeNull();
        }
        public async Task InsertUser_ValidNameLengthIsLimit_UserIsCreated()
        {
            // Arrange 
            var validNameLength = new string(new char[50]);
            const string metadata = "Researcher";
            var user = new StoredUser {Name = validNameLength, MetaData = "Researcher"};

            // Act 
            await _repository.Create(user);

            // Assert 
            _context.Users.Should().HaveCount(1);
            _context.Users.First().Should().NotBeNull();
            _context.Users.First().Name.Should().Be(validNameLength);
            _context.Users.First().MetaData.Should().Be(metadata);
        }
Ejemplo n.º 18
0
        public void GetAllUsers_Valid_ReturnsCorrectNumberOfUsers_Test()
        {
            //Arrange
            var user1 = new StoredUser {Name = "name1", MetaData = "metaData1"};
            var user2 = new StoredUser {Name = "name2", MetaData = "metaData2"};
            var user3 = new StoredUser {Name = "name3", MetaData = "metaData3"};
            var list = new List<StoredUser> {user1, user2, user3}.AsQueryable();
            _repositoryMock.Setup(r => r.Read()).Returns(list);
            var adapter = new UserAdapter(_repositoryMock.Object);
            const int expectedCount = 3;

            //Act
            var result = adapter.Read();
            var actualCount = result.ToList().Count;

            //Assert
            Assert.IsTrue(expectedCount == actualCount);
        }
        public async Task Create_ReturnsId_NewId()
        {
            // Arrange 
            var mockSet = new Mock<DbSet<StoredUser>>();
            var mockContext = new Mock<IAutoSysContext>();

            mockContext.Setup(m => m.Users).Returns(mockSet.Object);
            var user = new StoredUser {Name = "Steven", MetaData = "Validator"};

            // Act 
            var service = new DbRepository<StoredUser>(mockContext.Object);
            var id = await service.Create(user);

            // Assert 
            Assert.AreEqual(user.Id, id); // True for EF but not for interface 
        }
 public void Create_SaveChanges_IsCalled()
 {
     var user = new StoredUser();
     var id = _repository.Create(user);
     _context.Verify(r => r.SaveChangesAsync(), Times.Once);
 }
        public async Task Update_SetAttachUser_IsCalled()
        {
            // Arrange 
            var user = new StoredUser {Id = 1, Name = "User", MetaData = "Validator"};

            // Act 
            await _repository.UpdateIfExists(user);

            // Assert
            _context.Verify(c => c.Attach(user), Times.Once);
        }