Example #1
0
        public async Task RemoveFromPersonnel_ValidUser_FacilityIdIsNullAsync()
        {
            const string FACILITY_NAME = "TestFacility";

            string userId     = Guid.NewGuid().ToString();
            string facilityId = Guid.NewGuid().ToString();

            var service = new AdminFacilityService(dbContext, userManager, roleManager, signInManager,
                                                   new Mock <IServerNewsService>().Object);

            await dbContext.Facilities.AddAsync(new Facility(FACILITY_NAME, DateTime.Now, DateTime.Now)
            {
                IsDeleted      = false,
                NameNormalized = FACILITY_NAME,
                Operators      = new List <User>(),
                Id             = facilityId
            });

            await dbContext.SaveChangesAsync();

            await dbContext.Users.AddAsync(new User("TestName", "TestUserName", "*****@*****.**", DateTime.Now)
            {
                Id         = userId,
                FacilityId = facilityId
            });

            await dbContext.SaveChangesAsync();

            await service.RemoveFromPersonnelAsync(userId);

            Assert.AreEqual(0, dbContext.Facilities.Include(f => f.Operators).First(f => f.Id == facilityId).Operators.Count);
            Assert.IsNull(dbContext.Users.Find(userId).FacilityId);
        }
Example #2
0
        public async Task AddPersonnel_IvalidUser_VerifyNoOperators()
        {
            const string TEST_QUALIFICATION_NAME = "TestQualification";
            const string FACILITY_NAME           = "TestFacility";
            const string USER_FULLNAME           = "TestName";

            string userId     = Guid.NewGuid().ToString();
            string facilityId = Guid.NewGuid().ToString();
            var    service    = new AdminFacilityService(dbContext, userManager, roleManager, signInManager,
                                                         new Mock <IServerNewsService>().Object);

            await dbContext.Facilities.AddAsync(new Facility(FACILITY_NAME, DateTime.Now, DateTime.Now)
            {
                Id             = facilityId,
                Operators      = new List <User>(),
                IsDeleted      = false,
                NameNormalized = FACILITY_NAME.ToUpperInvariant()
            });

            await dbContext.Roles.AddAsync(new IdentityRole(Roles.PERSONNEL)
            {
                NormalizedName = Roles.PERSONNEL.ToUpperInvariant()
            });

            await dbContext.Qualification.AddAsync(new Qualification(TEST_QUALIFICATION_NAME)
            {
                NameNormalized = TEST_QUALIFICATION_NAME.ToUpperInvariant()
            });

            await dbContext.SaveChangesAsync();

            await dbContext.Users.AddAsync(new User(USER_FULLNAME, "TestUserName", "*****@*****.**", DateTime.Now)
            {
                QualificationId = dbContext.Qualification.First(q => q.NameNormalized == TEST_QUALIFICATION_NAME.ToUpperInvariant()).Id,
                Id = userId
            });

            await dbContext.SaveChangesAsync();

            await dbContext.UserRoles.AddAsync(new IdentityUserRole <string>()
            {
                RoleId = dbContext.Roles.First(f => f.NormalizedName == Roles.PERSONNEL.ToUpperInvariant()).Id,
                UserId = dbContext.Users.First(f => f.FullName == USER_FULLNAME).Id
            });

            await dbContext.SaveChangesAsync();

            await service.AddPersonnelAsync(new AddPersonnelModel()
            {
                FacilityId   = facilityId,
                PersonnelIds = new[] { userId },
            });

            Assert.IsNull((await dbContext.Users.FindAsync(userId)).FacilityId);
            Assert.AreEqual(0, dbContext.Facilities.Include(f => f.Operators).First(f => f.Id == facilityId).Operators.Count);
        }
Example #3
0
        public void All_WithNone_ReturnEmptyCollection()
        {
            var service = new AdminFacilityService(dbContext, userManager, roleManager, signInManager,
                                                   new Mock <IServerNewsService>().Object);

            IEnumerable <FacilityConciseViewModel> results = service.All();

            Assert.IsNotNull(results);
            Assert.AreEqual(0, results.ToList().Count);
        }
        public async Task RemoveFromPersonnel_InvalidUser_FacilityIdIsNull()
        {
            string userId = Guid.NewGuid().ToString();

            var service = new AdminFacilityService(dbContext, userManager, roleManager, signInManager,
                                                   new Mock <IServerNewsService>().Object);

            await service.RemoveFromPersonnelAsync(userId);

            Assert.IsFalse(dbContext.Users.Any(u => u.Id == userId));
        }
Example #5
0
        public async Task Delete_WithIvalid_NotDoAnything()
        {
            var service = new AdminFacilityService(dbContext, userManager, roleManager, signInManager,
                                                   new Mock <IServerNewsService>().Object);

            string facilityId = Guid.NewGuid().ToString();

            await service.DeleteAsync(facilityId);

            Assert.IsFalse(dbContext.Qualification.Any(f => f.Id == facilityId));
        }
Example #6
0
        public async Task Add_NewEntity_Created()
        {
            var service = new AdminFacilityService(dbContext, userManager, roleManager, signInManager,
                                                   new Mock <IServerNewsService>().Object);

            await service.AddAsync(new FacilityCreateBindingModel()
            {
                Name = "Test", ClosingTime = DateTime.Now, OpeningTime = DateTime.Now
            });

            Assert.AreEqual(1, dbContext.Facilities.Count());
        }
Example #7
0
        public async Task Delete_WithOne_NotExistingAsync()
        {
            var service = new AdminFacilityService(dbContext, userManager, roleManager, signInManager,
                                                   new Mock <IServerNewsService>().Object);

            string itemId = Guid.NewGuid().ToString();

            await dbContext.Facilities.AddAsync(new Facility("Test", DateTime.Now, DateTime.Now) { Id = itemId });

            await dbContext.SaveChangesAsync();

            await service.DeleteAsync(itemId);

            Assert.IsTrue(dbContext.Facilities.Find(itemId).IsDeleted);
        }
Example #8
0
        public async Task Add_DeleteEntity_Restored()
        {
            var service = new AdminFacilityService(dbContext, userManager, roleManager, signInManager,
                                                   new Mock <IServerNewsService>().Object);

            await dbContext.Facilities.AddAsync(new Facility("Test", DateTime.Now, DateTime.Now) { IsDeleted = true, NameNormalized = "TEST" });

            await dbContext.SaveChangesAsync();

            await service.AddAsync(new FacilityCreateBindingModel()
            {
                Name = "Test", ClosingTime = DateTime.Now, OpeningTime = DateTime.Now
            });

            Assert.AreEqual(1, dbContext.Facilities.Count());
            Assert.IsFalse(dbContext.Facilities.First().IsDeleted);
        }
Example #9
0
        public async Task All_WithSome_ReturnAll()
        {
            await dbContext.Facilities.AddAsync(new Facility("Test1", DateTime.Now, DateTime.Now));

            await dbContext.Facilities.AddAsync(new Facility("Test2", DateTime.Now, DateTime.Now));

            await dbContext.Facilities.AddAsync(new Facility("Test3", DateTime.Now, DateTime.Now));

            await dbContext.SaveChangesAsync();

            var service = new AdminFacilityService(dbContext, userManager, roleManager, signInManager,
                                                   new Mock <IServerNewsService>().Object);

            IEnumerable <FacilityConciseViewModel> results = service.All();

            Assert.IsNotNull(results);
            Assert.AreEqual(3, results.ToList().Count);
        }
Example #10
0
        public async Task GetPersonnel_HaveSeveral_ReturnAll()
        {
            string facilityId = Guid.NewGuid().ToString();

            var service = new AdminFacilityService(dbContext, userManager, roleManager, signInManager,
                                                   new Mock <IServerNewsService>().Object);

            await dbContext.Facilities.AddAsync(new Facility("TestFacility", DateTime.Now, DateTime.Now)
            {
                Id             = facilityId,
                Operators      = new List <User>(),
                IsDeleted      = false,
                NameNormalized = "TestFacility".ToUpperInvariant()
            });

            await dbContext.SaveChangesAsync();

            await dbContext.Users.AddRangeAsync(
                new User("TestName1", "TestUserName1", "*****@*****.**", DateTime.Now)
            {
                FacilityId = facilityId,
                Id         = Guid.NewGuid().ToString()
            },
                new User("TestName2", "TestUserName2", "*****@*****.**", DateTime.Now)
            {
                FacilityId = facilityId,
                Id         = Guid.NewGuid().ToString()
            },
                new User("TestName3", "TestUserName3", "*****@*****.**", DateTime.Now)
            {
                FacilityId = facilityId,
                Id         = Guid.NewGuid().ToString()
            },
                new User("TestName4", "TestUserName4", "*****@*****.**", DateTime.Now)
            {
                FacilityId = facilityId,
                Id         = Guid.NewGuid().ToString()
            }
                );

            await dbContext.SaveChangesAsync();

            Assert.AreEqual(4, (await service.GetPersonnelAsync(facilityId)).Count());
        }
Example #11
0
        public async Task RemoveFromPersonnel_ValidUserWithNoFacility_FacilityIdIsNullAsync()
        {
            string userId     = Guid.NewGuid().ToString();
            string facilityId = Guid.NewGuid().ToString();

            var service = new AdminFacilityService(dbContext, userManager, roleManager, signInManager,
                                                   new Mock <IServerNewsService>().Object);

            await dbContext.Users.AddAsync(new User("TestName", "TestUserName", "*****@*****.**", DateTime.Now)
            {
                Id = userId,
            });

            await dbContext.SaveChangesAsync();

            await service.RemoveFromPersonnelAsync(userId);

            Assert.IsNull(dbContext.Users.Find(userId).FacilityId);
        }
Example #12
0
        public async Task GetPersonnel_HaveNone_ReturnZero()
        {
            string facilityId = Guid.NewGuid().ToString();

            var service = new AdminFacilityService(dbContext, userManager, roleManager, signInManager,
                                                   new Mock <IServerNewsService>().Object);

            await dbContext.Facilities.AddAsync(new Facility("TestFacility", DateTime.Now, DateTime.Now)
            {
                Id             = facilityId,
                Operators      = new List <User>(),
                IsDeleted      = false,
                NameNormalized = "TestFacility".ToUpperInvariant()
            });

            await dbContext.SaveChangesAsync();

            Assert.AreEqual(0, (await service.GetPersonnelAsync(facilityId)).Count());
        }
Example #13
0
        public async Task AddPersonnel_NoUsers_VerifyNoOperators()
        {
            const string FACILITY_NAME = "TestFacility";

            string facilityId = Guid.NewGuid().ToString();
            var    service    = new AdminFacilityService(dbContext, userManager, roleManager, signInManager,
                                                         new Mock <IServerNewsService>().Object);

            await dbContext.Facilities.AddAsync(new Facility(FACILITY_NAME, DateTime.Now, DateTime.Now)
            {
                Id             = facilityId,
                Operators      = new List <User>(),
                IsDeleted      = false,
                NameNormalized = FACILITY_NAME.ToUpperInvariant()
            });

            await service.AddPersonnelAsync(new AddPersonnelModel()
            {
                FacilityId   = facilityId,
                PersonnelIds = new List <string>().ToArray()
            });

            Assert.AreEqual(0, dbContext.Facilities.Include(f => f.Operators).First(f => f.Id == facilityId).Operators.Count);
        }