Example #1
0
        /// <summary>
        /// Initializes a new instance of the <see cref="UnitOfWork"/> class with the given value.
        /// </summary>
        /// <param name="context">The Unit of Work for the Entity Framework instance.</param>
        public UnitOfWork(DbContext context)
        {
            this.context = context;
            this.context.Database.Connection.ConnectionString = Configurations.Configurations.GetConnectionString("dbConfigurations.json");
            this.context.Configuration.LazyLoadingEnabled     = true;
            this.context.Configuration.ProxyCreationEnabled   = true;

            Accounts            = new Repository <Account>(this.context);
            Addresses           = new Repository <Address>(this.context);
            Administrators      = new Repository <Administrator>(this.context);
            BloodContainers     = new Repository <BloodContainer>(this.context);
            BloodContainerTypes = new BloodContainerTypesRepository(this.context);
            BloodRequests       = new Repository <BloodRequest>(this.context);
            BloodTypes          = new BloodTypesRepository(this.context);
            Counties            = new CountiesRepository(this.context);
            DCPersonnel         = new Repository <DCPersonnel>(this.context);
            Doctors             = new Repository <Doctor>(this.context);
            DonationCenters     = new Repository <DonationCenter>(this.context);
            DonationForms       = new Repository <DonationForm>(this.context);
            Donors            = new Repository <Donor>(this.context);
            Genders           = new GendersRepository(this.context);
            Messages          = new Repository <Message>(this.context);
            Patients          = new Repository <Patient>(this.context);
            Persons           = new Repository <Person>(this.context);
            PersonStatuses    = new PersonStatusesRepository(this.context);
            RequestPriorities = new RequestPrioritiesRepository(this.context);
            RHs = new RhsRepository(this.context);

            this.context.Database.Connection.Open();
        }
 public void Verify_Deactivate_Should_SetTheActivePropertyToFalseOnTheEntity()
 {
     // Arrange
     Mock<IDbSet<Gender>> mockSetGenders;
     var mockContext = GendersMockingSetup.DoMockingSetupForContext(true, out mockSetGenders);
     var repository = new GendersRepository(mockContext.Object);
     var genders = repository.Get(1);
     // Act
     repository.Deactivate(genders);
     // Assert
     Assert.Equal(false, genders.Active);
 }
        public void Verify_Get_ByKey_Should_ReturnTheCorrectGender()
        {
            // Arrange
            Mock <IDbSet <Gender> > mockSetGenders;
            var mockContext = GendersMockingSetup.DoMockingSetupForContext(true, out mockSetGenders);
            var repository  = new GendersRepository(mockContext.Object);
            // Act
            var genders = repository.Get("KING-STEPHEN");

            // Assert
            Assert.Equal("/TEST/KING-STEPHEN", genders.ApiDetailUrl);
        }
 public void Verify_Add_Should_AddTheEntityToTheContext()
 {
     // Arrange
     Mock<IDbSet<Gender>> mockSetGenders;
     var mockContext = GendersMockingSetup.DoMockingSetupForContext(false, out mockSetGenders);
     var repository = new GendersRepository(mockContext.Object);
     var genders = new Gender { Active = true, CustomKey = "SALVATORE-RAA", };
     // Act
     repository.Add(genders);
     // Assert
     mockSetGenders.Verify(x => x.Add(genders), Times.Once);
 }
        public void Verify_Deactivate_Should_SetTheActivePropertyToFalseOnTheEntity()
        {
            // Arrange
            Mock <IDbSet <Gender> > mockSetGenders;
            var mockContext = GendersMockingSetup.DoMockingSetupForContext(true, out mockSetGenders);
            var repository  = new GendersRepository(mockContext.Object);
            var genders     = repository.Get(1);

            // Act
            repository.Deactivate(genders);
            // Assert
            Assert.Equal(false, genders.Active);
        }
        public void Verify_Remove_Should_RemoveTheEntityFromTheContext()
        {
            // Arrange
            Mock <IDbSet <Gender> > mockSetGenders;
            var mockContext = GendersMockingSetup.DoMockingSetupForContext(true, out mockSetGenders);
            var repository  = new GendersRepository(mockContext.Object);
            var genders     = repository.Get(1);

            // Act
            repository.Remove(genders);
            // Assert
            mockSetGenders.Verify(x => x.Remove((Gender)genders), Times.Once);
        }
        public void Verify_Update_Should_SetTheEntityStateToModified()
        {
            // Arrange
            Mock <IDbSet <Gender> > mockSetGenders;
            var mockContext = GendersMockingSetup.DoMockingSetupForContext(true, out mockSetGenders);
            var repository  = new GendersRepository(mockContext.Object);
            var genders     = repository.Get(1);

            genders.ApiDetailUrl = "/TEST";
            // Act
            repository.Update(genders);
            // Assert
            mockContext.Verify(x => x.SetModified(It.IsAny <object>()), Times.Once);
        }
        public void Verify_Add_Should_AddTheEntityToTheContext()
        {
            // Arrange
            Mock <IDbSet <Gender> > mockSetGenders;
            var mockContext = GendersMockingSetup.DoMockingSetupForContext(false, out mockSetGenders);
            var repository  = new GendersRepository(mockContext.Object);
            var genders     = new Gender {
                Active = true, CustomKey = "SALVATORE-RAA",
            };

            // Act
            repository.Add(genders);
            // Assert
            mockSetGenders.Verify(x => x.Add(genders), Times.Once);
        }
        public void Verify_List_Should_ReturnAListOfGendersWithData()
        {
            // Arrange
            Mock <IDbSet <Gender> > mockSetGenders;
            var mockContext = GendersMockingSetup.DoMockingSetupForContext(true, out mockSetGenders);
            var repository  = new GendersRepository(mockContext.Object);
            // Act
            var genders = repository.List.ToArray();

            // Assert
            Assert.Equal(2, genders.Length);
            Assert.Equal(1, genders[0].Id);
            Assert.Equal("/TEST/KING-STEPHEN", genders[0].ApiDetailUrl);
            Assert.Equal(2, genders[1].Id);
            Assert.Equal("/TEST/NIVEN-LARRY", genders[1].ApiDetailUrl);
        }
        public void Verify_Search_WithSelectStatement_Should_ReturnAListOfDynamicObjects()
        {
            // Arrange
            Mock <IDbSet <Gender> > mockSetGenders;
            var mockContext = GendersMockingSetup.DoMockingSetupForContext(true, out mockSetGenders, true);
            var repository  = new GendersRepository(mockContext.Object);
            var searchModel = new Mock <IGenderSearchModel>();
            // Act
            var genders = repository.Search(searchModel.Object, i => new { i.Id, MyApiDetailUrl = i.ApiDetailUrl }).ToArray();

            // Assert
            Assert.Equal(1, genders.Length);
            Assert.Equal(2, genders[0].Id);
            Assert.Equal("/TEST/NIVEN-LARRY", genders[0].MyApiDetailUrl);
            // Stephen King was filtered out because he was Inactive
        }
        public void Verify_Search_WithPaging_Should_ReturnAListOfGendersWithDataMatchingSearchParameters()
        {
            // Arrange
            Mock <IDbSet <Gender> > mockSetGenders;
            var mockContext = GendersMockingSetup.DoMockingSetupForContext(true, out mockSetGenders);
            var repository  = new GendersRepository(mockContext.Object);
            var searchModel = new GenderSearchModel {
                Paging = new Paging {
                    Skip = 1, Take = 1
                }
            };
            // Act
            var genders = repository.Search(searchModel /*.Object*/).ToArray();

            // Assert
            Assert.Equal(1, genders.Length);
            Assert.Equal(2, genders[0].Id);
            Assert.Equal("/TEST/NIVEN-LARRY", genders[0].ApiDetailUrl);
            // Stephen King was filtered out because he was Skipped
        }
        public void Verify_Search_WithModifiedSince_Should_ReturnAListOfGendersWithDataMatchingSearchParameters()
        {
            // Arrange
            Mock <IDbSet <Gender> > mockSetGenders;
            var mockContext = GendersMockingSetup.DoMockingSetupForContext(true, out mockSetGenders, true);
            var repository  = new GendersRepository(mockContext.Object);
            var createDate  = new System.DateTime(2015, 05, 28, 10, 45, 00).AddDays(1).AddMinutes(-1);
            //var searchModel = new Mock<IGenderSearchModel>();
            //searchModel.Setup(m => m.ModifiedSince).Returns(() => createDate);
            var searchModel = new GenderSearchModel {
                ModifiedSince = createDate
            };
            // Act
            var genders = repository.Search(searchModel /*.Object*/).ToArray();

            // Assert
            Assert.Equal(1, genders.Length);
            Assert.Equal(2, genders[0].Id);
            Assert.Equal("/TEST/NIVEN-LARRY", genders[0].ApiDetailUrl);
            // Stephen King was filtered out because he was created before the modified since date
        }
 public void Verify_Get_ByID_Should_ReturnTheCorrectGender()
 {
     // Arrange
     Mock<IDbSet<Gender>> mockSetGenders;
     var mockContext = GendersMockingSetup.DoMockingSetupForContext(true, out mockSetGenders);
     var repository = new GendersRepository(mockContext.Object);
     // Act
     var genders = repository.Get(1);
     // Assert
                 Assert.Equal("/TEST/KING-STEPHEN", genders.ApiDetailUrl);
 }
 public void Verify_Update_Should_SetTheEntityStateToModified()
 {
     // Arrange
     Mock<IDbSet<Gender>> mockSetGenders;
     var mockContext = GendersMockingSetup.DoMockingSetupForContext(true, out mockSetGenders);
     var repository = new GendersRepository(mockContext.Object);
     var genders = repository.Get(1);
     genders.ApiDetailUrl = "/TEST";
     // Act
     repository.Update(genders);
     // Assert
     mockContext.Verify(x => x.SetModified(It.IsAny<object>()), Times.Once);
 }
 public void Verify_Search_WithSelectStatement_Should_ReturnAListOfDynamicObjects()
 {
     // Arrange
     Mock<IDbSet<Gender>> mockSetGenders;
     var mockContext = GendersMockingSetup.DoMockingSetupForContext(true, out mockSetGenders, true);
     var repository = new GendersRepository(mockContext.Object);
     var searchModel = new Mock<IGenderSearchModel>();
     // Act
     var genders = repository.Search(searchModel.Object, i => new { i.Id, MyApiDetailUrl = i.ApiDetailUrl }).ToArray();
     // Assert
     Assert.Equal(1, genders.Length);
     Assert.Equal(2, genders[0].Id);
     Assert.Equal("/TEST/NIVEN-LARRY", genders[0].MyApiDetailUrl);
     // Stephen King was filtered out because he was Inactive
 }
 public void Verify_Search_WithPaging_Should_ReturnAListOfGendersWithDataMatchingSearchParameters()
 {
     // Arrange
     Mock<IDbSet<Gender>> mockSetGenders;
     var mockContext = GendersMockingSetup.DoMockingSetupForContext(true, out mockSetGenders);
     var repository = new GendersRepository(mockContext.Object);
     var searchModel = new GenderSearchModel { Paging = new Paging { Skip = 1, Take = 1 } };
     // Act
     var genders = repository.Search(searchModel/*.Object*/).ToArray();
     // Assert
     Assert.Equal(1, genders.Length);
     Assert.Equal(2, genders[0].Id);
     Assert.Equal("/TEST/NIVEN-LARRY", genders[0].ApiDetailUrl);
     // Stephen King was filtered out because he was Skipped
 }
 public void Verify_Search_WithModifiedSince_Should_ReturnAListOfGendersWithDataMatchingSearchParameters()
 {
     // Arrange
     Mock<IDbSet<Gender>> mockSetGenders;
     var mockContext = GendersMockingSetup.DoMockingSetupForContext(true, out mockSetGenders, true);
     var repository = new GendersRepository(mockContext.Object);
     var createDate = new System.DateTime(2015, 05, 28, 10, 45, 00).AddDays(1).AddMinutes(-1);
     //var searchModel = new Mock<IGenderSearchModel>();
     //searchModel.Setup(m => m.ModifiedSince).Returns(() => createDate);
     var searchModel = new GenderSearchModel { ModifiedSince = createDate };
     // Act
     var genders = repository.Search(searchModel/*.Object*/).ToArray();
     // Assert
     Assert.Equal(1, genders.Length);
     Assert.Equal(2, genders[0].Id);
     Assert.Equal("/TEST/NIVEN-LARRY", genders[0].ApiDetailUrl);
     // Stephen King was filtered out because he was created before the modified since date
 }
 public void Verify_Remove_Should_RemoveTheEntityFromTheContext()
 {
     // Arrange
     Mock<IDbSet<Gender>> mockSetGenders;
     var mockContext = GendersMockingSetup.DoMockingSetupForContext(true, out mockSetGenders);
     var repository = new GendersRepository(mockContext.Object);
     var genders = repository.Get(1);
     // Act
     repository.Remove(genders);
     // Assert
     mockSetGenders.Verify(x => x.Remove((Gender)genders), Times.Once);
 }
 public void Verify_List_Should_ReturnAListOfGendersWithData()
 {
     // Arrange
     Mock<IDbSet<Gender>> mockSetGenders;
     var mockContext = GendersMockingSetup.DoMockingSetupForContext(true, out mockSetGenders);
     var repository = new GendersRepository(mockContext.Object);
     // Act
     var genders = repository.List.ToArray();
     // Assert
     Assert.Equal(2, genders.Length);
     Assert.Equal(1, genders[0].Id);
     Assert.Equal("/TEST/KING-STEPHEN", genders[0].ApiDetailUrl);
     Assert.Equal(2, genders[1].Id);
     Assert.Equal("/TEST/NIVEN-LARRY", genders[1].ApiDetailUrl);
 }