public void AdministratorsControllerGetAllTest()
        {
            var FirstAdministrator = new Administrator
            {
                Id       = Guid.NewGuid(),
                Name     = "First Admin",
                Email    = "*****@*****.**",
                Password = "******"
            };

            var SecondAdministrator = new Administrator
            {
                Id       = Guid.NewGuid(),
                Name     = "Second Admin",
                Email    = "*****@*****.**",
                Password = "******"
            };

            var Logic      = CreateLogic();
            var Controller = new AdministratorsController(Logic);

            Logic.Create(FirstAdministrator);
            Logic.Create(SecondAdministrator);

            List <Administrator> Administrators = new List <Administrator>()
            {
                FirstAdministrator, SecondAdministrator
            };

            var Result        = Controller.Get();
            var CreatedResult = Result as OkObjectResult;
            var AdminResults  = CreatedResult.Value as IEnumerable <AdministratorDTO>;

            Assert.AreEqual(Administrators.Count, AdminResults.ToList().Count);
        }
        public void AdministratorControllerDeleteTest()
        {
            var id            = Guid.NewGuid();
            var Administrator = new Administrator
            {
                Id       = id,
                Name     = "Admin",
                Email    = "*****@*****.**",
                Password = "******",
            };

            var Logic      = new AdministratorLogic();
            var Controller = new AdministratorsController(Logic);

            Logic.Create(Administrator);
            Controller.Delete(Administrator.Id);

            Assert.ThrowsException <ExceptionController>(() => Logic.Get(Administrator.Id));
        }
        public void AdministratorsControllerGetTest()
        {
            var Admin = new Administrator
            {
                Id       = Guid.NewGuid(),
                Name     = "First Admin",
                Email    = "*****@*****.**",
                Password = "******"
            };

            var Logic      = CreateLogic();
            var Controller = new AdministratorsController(Logic);

            Logic.Create(Admin);

            var Result        = Controller.Get(Admin.Id);
            var CreatedResult = Result as OkObjectResult;
            var Model         = CreatedResult.Value as AdministratorDTO;

            Assert.AreEqual(Admin.Name, Model.Name);
        }
        public void AdministratorsControllerPostTest()
        {
            var Admin = new Administrator
            {
                Id       = Guid.NewGuid(),
                Name     = "First Admin",
                Password = "******",
                Email    = "*****@*****.**"
            };

            var Logic      = CreateLogic();
            var Controller = new AdministratorsController(Logic);
            var adminModel = AdministratorDTO.ToModel(Admin);

            adminModel.Password = Admin.Password;

            var result        = Controller.Post(adminModel);
            var createdResult = result as CreatedAtRouteResult;
            var model         = createdResult.Value as AdministratorDTO;

            Assert.AreEqual(Admin.Name, model.Name);
        }
        public void AdministratorControllerUpdateTestEmail()
        {
            var AdministratorId = Guid.NewGuid();
            var Logic           = CreateLogic();
            var Controller      = new AdministratorsController(Logic);

            var Admin = new Administrator
            {
                Id       = AdministratorId,
                Name     = "First Admin",
                Password = "******",
                Email    = "*****@*****.**"
            };

            Logic.Create(Admin);

            Admin.Email = "*****@*****.**";

            var result        = Controller.Put(AdministratorId, AdministratorDTO.ToModel(Admin));
            var createdResult = result as CreatedAtRouteResult;
            var model         = createdResult.Value as AdministratorDTO;

            Assert.AreEqual("*****@*****.**", model.Email);
        }