public void GetEmployee_ShouldReturnEmployee()
        {
            //Arrange
            Guid testEmployeeId;

            using (var factory = new TestRepositoryContextFactory())
            {
                using (var context = factory.CreateContext())
                {
                    var testEmployee = context.Employees.FirstOrDefault();
                    testEmployeeId = testEmployee.Id;
                    var repository = new RepositoryManager(context);
                    //Act
                    var empl = repository.Employee.GetEmployee(testEmployeeId, false);
                    Assert.IsNotNull(empl);
                    Assert.AreEqual(testEmployeeId, empl.Id);
                    Assert.AreEqual(testEmployee.Name, empl.Name);
                    Assert.AreEqual(testEmployee.Age, empl.Age);
                    Assert.AreEqual(testEmployee.Description, empl.Description);
                    Assert.AreEqual(testEmployee.Gender, empl.Gender);
                    Assert.AreEqual(testEmployee.Position, empl.Position);
                    Assert.AreEqual(testEmployee.CompanyId, empl.CompanyId);
                }
            }
        }
        public void GetCompany_ShouldReturnCompany()
        {
            //Arrange
            Guid testCompanyId;

            using (var factory = new TestRepositoryContextFactory())
            {
                using (var context = factory.CreateContext())
                {
                    var testCompany = context.Companies.FirstOrDefault();
                    testCompanyId = testCompany.Id;
                    var repository = new RepositoryManager(context);
                    //Act
                    var comp = repository.Company.GetCompany(testCompanyId, false);
                    //Assert
                    Assert.IsNotNull(comp);
                    Assert.AreEqual(testCompanyId, comp.Id);
                    //Aanvullen: andere properties ook testen op gelijkheid
                    Assert.AreEqual(testCompany.Name, comp.Name);
                    Assert.AreEqual(testCompany.LaunchDate, comp.LaunchDate);
                    Assert.AreEqual(testCompany.Size, comp.Size);
                    Assert.AreEqual(testCompany.Address, comp.Address);
                    Assert.AreEqual(testCompany.Country, comp.Country);
                    Assert.AreEqual(testCompany.Description, comp.Description);
                }
            }
        }
        public void DeleteCompany_ShouldRemoveCompanyFromContext()
        {
            using (var factory = new TestRepositoryContextFactory())
            {
                //Arrange
                Guid testCompanyId;
                int  count;
                using (var context = factory.CreateContext())
                {
                    count = context.Companies.Count();
                    var repository   = new RepositoryManager(context);
                    var firstCompany = context.Companies.FirstOrDefault();
                    testCompanyId = firstCompany.Id;
                    //Act
                    repository.Company.DeleteCompany(firstCompany);

                    repository.Save();
                }
                //Assert
                using (var context = factory.CreateContext())
                {
                    Assert.AreEqual(count - 1, context.Companies.Count());
                    Assert.IsFalse(context.Companies.Where(c => c.Id == testCompanyId).Any());
                }
            }
        }
        public void GetAllEmployees_ShouldReturnAllEmployeesFromContext()
        {
            using (var factory = new TestRepositoryContextFactory())
            {
                using (var context = factory.CreateContext())
                {
                    var countEmployeesInDb = context.Employees.Count();

                    var repository = new RepositoryManager(context);
                    var emp        = repository.Employee.GetAllEmployeesAsync(false).Result;
                    Assert.IsNotNull(emp);
                    Assert.AreEqual(countEmployeesInDb, emp.Count());
                }
            }
        }
Exemplo n.º 5
0
        public void GetAllCompanies_ShouldReturnAllCompaniesFromContext()
        {
            using (var factory = new TestRepositoryContextFactory())
            {
                using (var context = factory.CreateContext())
                {
                    var countCompaniesInDb = context.Companies.Count();

                    var repository = new RepositoryManager(context);
                    var comp       = repository.Company.GetAllCompanies(false);
                    Assert.IsNotNull(comp);
                    Assert.AreEqual(countCompaniesInDb, comp.Count());
                }
            }
        }
        public void Add_ShouldAddNewCompanyAndNewEmployee()
        {
            using (var factory = new TestRepositoryContextFactory())
            {
                Guid    testEmployeeId = Guid.NewGuid();
                Guid    testCompanyId  = Guid.NewGuid();
                Company testCompany    = new Company()
                {
                    Id          = testCompanyId,
                    Name        = "Test bedrijf",
                    Country     = "Test land",
                    Description = "Test beschrijving",
                    Size        = CompanySize.Small,
                    LaunchDate  = DateTime.Today,
                    Address     = "Test adres"
                };

                Employee testEmployee = new Employee()
                {
                    Id          = testEmployeeId,
                    CompanyId   = testCompanyId,
                    Name        = "Jos",
                    Description = "Test employee",
                    Age         = 45,
                    Gender      = GeslachtType.Man,
                    Position    = "Developer"
                };
                // Get a context
                using (var context = factory.CreateContext())
                {
                    context.Companies.Add(testCompany);
                    context.Employees.Add(testEmployee);
                    context.SaveChanges();
                };

                // Get another context using the same connection
                using (var context = factory.CreateContext())
                {
                    var count = context.Employees.Count();
                    Assert.AreEqual(4, count);

                    var emp = context.Employees.FirstOrDefault(e => e.Id == testEmployeeId);
                    Assert.IsNotNull(emp);
                };
            }
        }
        public void CreateEmployeeForExistingCompany_ShouldAddNewEmployeeToContextForCompany()
        {
            using (var factory = new TestRepositoryContextFactory())
            {
                //Arrange
                int count = 0;

                Company  testCompany    = null;
                Guid     testEmployeeId = Guid.NewGuid();
                Employee testEmployee   = new Employee()
                {
                    Id          = testEmployeeId,
                    Name        = "Jos",
                    Description = "Test employee",
                    Age         = 45,
                    Gender      = GeslachtType.Man,
                    Position    = "Developer"
                };
                using (var context = factory.CreateContext())
                {
                    count                  = context.Employees.Count();
                    testCompany            = context.Companies.FirstOrDefault();
                    testEmployee.CompanyId = testCompany.Id;
                    var repository = new RepositoryManager(context);
                    //Act
                    repository.Employee.CreateEmployeeForCompany(testCompany.Id, testEmployee);
                    repository.Save();
                }
                //Assert
                using (var context = factory.CreateContext())
                {
                    Assert.AreEqual(count + 1, context.Employees.Count());
                    var addedEmployee = context.Employees.Find(testEmployeeId);
                    Assert.IsNotNull(addedEmployee);
                    Assert.AreEqual(testEmployeeId, addedEmployee.Id);
                    Assert.AreEqual(testEmployee.Name, addedEmployee.Name);
                    Assert.AreEqual(testEmployee.Age, addedEmployee.Age);
                    Assert.AreEqual(testEmployee.Description, addedEmployee.Description);
                    Assert.AreEqual(testEmployee.Gender, addedEmployee.Gender);
                    Assert.AreEqual(testEmployee.Position, addedEmployee.Position);
                    Assert.AreEqual(testEmployee.CompanyId, addedEmployee.CompanyId);
                }
            }
        }
 public void CreateCompany_ShouldAddNewCompanyToContext()
 {
     using (var factory = new TestRepositoryContextFactory())
     {
         //Arrange
         int     count = 0;
         Guid    testCompanyId;
         Company testCompany;//Hier de declaratie van testCompany plaatsen
         using (var context = factory.CreateContext())
         {
             testCompanyId = Guid.NewGuid();
             testCompany   = new Company() //Verwijder Company declaratie, hier initialiseren
             {
                 Id          = testCompanyId,
                 Name        = "Test bedrijf",
                 Country     = "Test land",
                 Description = "Test beschrijving",
                 Size        = CompanySize.Small,
                 LaunchDate  = DateTime.Today,
                 Address     = "Test adres"
             };
             count = context.Companies.Count();
             var repository = new RepositoryManager(context);
             //Act
             repository.Company.CreateCompany(testCompany);
             repository.Save();
         }
         //Assert
         using (var context = factory.CreateContext())
         {
             Assert.AreEqual(count + 1, context.Companies.Count());
             var addedCompany = context.Companies.FirstOrDefault(e => e.Id == testCompanyId);
             Assert.IsNotNull(addedCompany);
             Assert.AreEqual(testCompanyId, addedCompany.Id);
             //Aanvullen: andere properties ook testen op gelijkheid
             Assert.AreEqual(testCompany.Name, addedCompany.Name);
             Assert.AreEqual(testCompany.LaunchDate, addedCompany.LaunchDate);
             Assert.AreEqual(testCompany.Size, addedCompany.Size);
             Assert.AreEqual(testCompany.Address, addedCompany.Address);
             Assert.AreEqual(testCompany.Country, addedCompany.Country);
             Assert.AreEqual(testCompany.Description, addedCompany.Description);
         }
     }
 }
        public void SaveChangesGetEmployeeTrackChangesTrue_ShouldChangeEmployeeInContext()
        {
            using (var factory = new TestRepositoryContextFactory())
            {
                //Arrange
                Guid     testCompanyId;
                Guid     testEmployeeId;
                Employee testEmployee;

                using (var context = factory.CreateContext())
                {
                    var repository   = new RepositoryManager(context);
                    var firstCompany = context.Companies.FirstOrDefault();
                    testCompanyId = firstCompany.Id;
                    var firstEmployee = context.Employees.FirstOrDefault();
                    testEmployeeId = firstEmployee.Id;
                    //Act
                    testEmployee = repository.Employee.GetEmployee(testEmployeeId, true);

                    testEmployee.Name        = "gewijzigde naam Joke";
                    testEmployee.Age         = 18;
                    testEmployee.CompanyId   = testCompanyId;
                    testEmployee.Description = "gewijzigde beschrijving";
                    testEmployee.Gender      = GeslachtType.Vrouw;
                    testEmployee.Position    = "gewijzigde positie";

                    repository.Save();
                }
                //Assert
                using (var context = factory.CreateContext())
                {
                    var changedEmployee = context.Employees.FirstOrDefault(e => e.Id == testEmployeeId);
                    Assert.IsNotNull(changedEmployee);
                    Assert.AreEqual(testEmployee.Id, changedEmployee.Id);
                    Assert.AreEqual(testEmployee.Name, changedEmployee.Name);
                    Assert.AreEqual(testEmployee.Age, changedEmployee.Age);
                    Assert.AreEqual(testEmployee.CompanyId, changedEmployee.CompanyId);
                    Assert.AreEqual(testEmployee.Description, changedEmployee.Description);
                    Assert.AreEqual(testEmployee.Gender, changedEmployee.Gender);
                    Assert.AreEqual(testEmployee.Position, changedEmployee.Position);
                }
            }
        }
Exemplo n.º 10
0
        public void GetCompany_ShouldReturnCompany()
        {
            //Arrange
            Guid testCompanyId;

            using (var factory = new TestRepositoryContextFactory())
            {
                using (var context = factory.CreateContext())
                {
                    var testCompany = context.Companies.FirstOrDefault();
                    testCompanyId = testCompany.Id;
                    var repository = new RepositoryManager(context);
                    //Act
                    var comp = repository.Company.GetCompany(testCompanyId, false);
                    //Assert
                    Assert.IsNotNull(comp);
                    Assert.AreEqual(testCompanyId, comp.Id);
                }
            }
        }
        public void SaveChangesGetCompanyTrackChangesTrue_ShouldChangeCompanyInContext()
        {
            using (var factory = new TestRepositoryContextFactory())
            {
                //Arrange
                Guid    testCompanyId;
                Company testCompany;
                using (var context = factory.CreateContext())
                {
                    var repository   = new RepositoryManager(context);
                    var firstCompany = context.Companies.FirstOrDefault();
                    testCompanyId = firstCompany.Id;
                    //Act
                    testCompany             = repository.Company.GetCompany(testCompanyId, true);
                    testCompany.Name        = "gewijzigde naam";
                    testCompany.Size        = CompanySize.Big;
                    testCompany.LaunchDate  = new DateTime(2021, 3, 15);
                    testCompany.Description = "gewijzigde beschrijving";
                    testCompany.Country     = "gewijsigd land";
                    testCompany.Address     = "gewijzigd adres";

                    repository.Save();
                }
                //Assert
                using (var context = factory.CreateContext())
                {
                    var changedCompany = context.Companies.Include(c => c.Employees).FirstOrDefault(e => e.Id == testCompanyId);
                    Assert.IsNotNull(changedCompany);
                    Assert.AreEqual(testCompany.Id, changedCompany.Id);
                    Assert.AreEqual(testCompany.Name, changedCompany.Name);
                    Assert.AreEqual(testCompany.Size, changedCompany.Size);
                    Assert.AreEqual(testCompany.LaunchDate, changedCompany.LaunchDate);
                    Assert.AreEqual(testCompany.Description, changedCompany.Description);
                    Assert.AreEqual(testCompany.Country, changedCompany.Country);
                    Assert.AreEqual(testCompany.Address, changedCompany.Address);
                }
            }
        }
Exemplo n.º 12
0
 public void CreateCompany_ShouldAddNewCompanyToContext()
 {
     using (var factory = new TestRepositoryContextFactory())
     {
         //Arrange
         int  count = 0;
         Guid testCompanyId;
         using (var context = factory.CreateContext())
         {
             testCompanyId = Guid.NewGuid();
             Company testCompany = new Company()
             {
                 Id          = testCompanyId,
                 Name        = "Test bedrijf",
                 Country     = "Test land",
                 Description = "Test beschrijving",
                 Size        = CompanySize.Small,
                 LaunchDate  = DateTime.Today,
                 Address     = "Test adres"
             };
             count = context.Companies.Count();
             var repository = new RepositoryManager(context);
             //Act
             repository.Company.CreateCompany(testCompany);
             repository.Save();
         }
         //Assert
         using (var context = factory.CreateContext())
         {
             Assert.AreEqual(count + 1, context.Companies.Count());
             var addedCompany = context.Companies.FirstOrDefault(e => e.Id == testCompanyId);
             Assert.IsNotNull(addedCompany);
             Assert.AreEqual(testCompanyId, addedCompany.Id);
         }
     }
 }