public DatabaseServiceTests() { mockDatabaseContext = new Mock <PyDeployerDbContext>(MockBehavior.Default, new object[] { new DbContextOptions <PyDeployerDbContext>() }); mockEncrypter = new Mock <AesEncrypter>(); mockEncrypter.Setup(x => x.GenerateKey(It.IsAny <int>())).Returns(testEncryptionKey); mockEncrypter.Setup(x => x.Decrypt(It.IsAny <string>(), testEncryptionKey)).Returns("decrypted"); mockEncrypter.Setup(x => x.Encrypt(It.IsAny <string>(), testEncryptionKey)).Returns("encrypted"); mockEncrypter.Setup(x => x.IsEncrypted(It.IsAny <string>())).Returns(true); mockDatabaseContext.Setup(x => x.SaveChanges()).Verifiable(); // Make SaveChanges do nothing testDatabases = new List <Database>() { new Database() { DatabaseId = 1, Name = "Database 1", Active = true }, new Database() { DatabaseId = 2, Name = "Database 2", Active = true } }; mockDbSet = MockUtils.CreateDbSetMock(testDatabases); mockDatabaseContext.Setup(x => x.Databases).Returns(mockDbSet.Object); subject = new DatabaseService(mockDatabaseContext.Object, mockEncrypter.Object); }