public void Test_Delete_DeletesCategoryFromDatabase()
        {
            //Arrange
              string name1 = "Home stuff";
              Category testCategory1 = new Category(name1);
              testCategory1.Save();

              string name2 = "Work stuff";
              Category testCategory2 = new Category(name2);
              testCategory2.Save();
              DateTime fakeTime = new DateTime(2016, 1, 1);

              Task testTask1 = new Task("Mow the lawn", testCategory1.GetId(),fakeTime);
              testTask1.Save();
              DateTime fakeTime1 = new DateTime(2016, 1, 1);

              Task testTask2 = new Task("Send emails", testCategory2.GetId(),fakeTime1);
              testTask2.Save();

              //Act
              testCategory1.Delete();
              List<Category> resultCategories = Category.GetAll();
              List<Category> testCategoryList = new List<Category> {testCategory2};

              List<Task> resultTasks = Task.GetAll();
              List<Task> testTaskList = new List<Task> {testTask2};

              //Assert
              Assert.Equal(testCategoryList, resultCategories);
              Assert.Equal(testTaskList, resultTasks);
        }
    public void Test_FindFindsCategoryInDatabase()
    {
      //Arrange
      Category testCategory = new Category("Household chores");
      testCategory.Save();

      //Act
      Category foundCategory = Category.Find(testCategory.GetId());

      //Assert
      Assert.Equal(testCategory, foundCategory);
    }
Exemple #3
0
    public void Test_FindFindsCategoryInDatabase()
    {
      //Arrange
      Category testCategory = new Category("Household chores");
      testCategory.Save();

      //Act
      Category foundCategory = Category.Find(testCategory.GetId());

      //Assert
      Assert.Equal(testCategory, foundCategory);
    }
Exemple #4
0
        public void Test_GetTasks_RetrievesAllTasksWithCategory()
        {
            Category testCategory = new Category("Household chores");

            testCategory.Save();

            Task firstTask = new Task("Mow the lawn", testCategory.GetId());

            firstTask.Save();
            Task secondTask = new Task("Do the dishes", testCategory.GetId());

            secondTask.Save();


            List <Task> testTaskList = new List <Task> {
                firstTask, secondTask
            };
            List <Task> resultTaskList = testCategory.GetTasks();

            Assert.Equal(testTaskList, resultTaskList);
        }
Exemple #5
0
        public void Test_Find_FindCategoryInDatabase()
        {
            //Arrange
            Category newCategory = new Category("Chores");

            newCategory.Save();

            //Act
            Category foundCategory = Category.Find(newCategory.GetId());

            //Assert
            Assert.Equal(newCategory, foundCategory);
        }
        public void Test_Save_AssignsIdToCategoryObject()
        {
            Category testCategory = new Category("Household chores");

            testCategory.Save();

            Category savedCategory = Category.GetAll()[0];

            int result = savedCategory.GetId();
            int testId = testCategory.GetId();

            Assert.Equal(testId, result);
        }
Exemple #7
0
 public override bool Equals(System.Object otherCategory)
 {
     if (!(otherCategory is Category))
     {
         return(false);
     }
     else
     {
         Category newCategory         = (Category)otherCategory;
         bool     idEquality          = (this.GetId() == newCategory.GetId());
         bool     descriptionEquality = (this.GetDescription() == newCategory.GetDescription());
         return(idEquality && descriptionEquality);
     }
 }
Exemple #8
0
        public void Test_GetTasks_RetrieveAllTasksWithCategory()
        {
            //Arrange
            Category testCategory = new Category("Everyday chores");

            testCategory.Save();

            DateTime myDate    = new DateTime(1999, 6, 4);
            Task     firstTask = new Task("Mow the lawn", testCategory.GetId(), myDate);

            firstTask.Save();

            Task secondTask = new Task("Do the Dishes", testCategory.GetId(), myDate);

            secondTask.Save();

            List <Task> testTaskList = new List <Task> {
                firstTask, secondTask
            };
            List <Task> result = testCategory.GetTask();

            Assert.Equal(testTaskList, result);
        }
 public override bool Equals(System.Object otherCategory)
 {
     if (!(otherCategory is Category))
     {
         return(false);
     }
     else
     {
         Category newCategory  = (Category)otherCategory;
         bool     idEquality   = this.GetId() == newCategory.GetId();
         bool     nameEquality = this.GetName() == newCategory.GetName();
         return(idEquality && nameEquality);
     }
 }
Exemple #10
0
        public void Test_Save_AssignsIdToCategory()
        {
            // Arrange
            Category newCategory = new Category("Chores");

            // Act
            newCategory.Save();
            Category savedCategory = Category.GetAll()[0];

            int resultId = savedCategory.GetId();
            int testId   = newCategory.GetId();

            // Assert
            Assert.Equal(testId, resultId);
        }
    public void Test_SaveAssignsIdToCategoryObject()
    {
      //Arrange
      Category testCategory = new Category("Household chores");
      testCategory.Save();

      //Act
      Category savedCategory = Category.GetAll()[0];

      int result = savedCategory.GetId();
      int testId = testCategory.GetId();

      //Assert
      Assert.Equal(testId, result);
    }
Exemple #12
0
        public void Test_Save_AssignIdToCategoryObject()
        {
            //Arrange
            Category testCategory = new Category("Everyday chores");

            testCategory.Save();
            Category savedCategory = Category.GetAll()[0];


            //Act
            int result = savedCategory.GetId();
            int testId = testCategory.GetId();

            //Assert
            Assert.Equal(testId, result);
        }
 public HomeModule()
 {
     Get["/"] = _ => {
         return(View["index.cshtml"]);
     };
     Get["/categories"] = _ => {
         var allCategories = Category.GetAll();
         return(View["categories.cshtml", allCategories]);
     };
     Get["/categories/new"] = _ => {
         return(View["category_form.cshtml"]);
     };
     Post["/categories"] = _ => {
         var newCategory = new Category(Request.Form["category-name"]);
         newCategory.Save();
         var allCategories = Category.GetAll();
         return(View["categories.cshtml", allCategories]);
     };
     Get["/categories/{id}"] = parameters => {
         var         selectedCategory = Category.Find(parameters.id);
         List <Task> categoryTasks    = selectedCategory.GetTasks();
         return(View["category.cshtml", selectedCategory]);
     };
     Get["/categories/{id}/tasks/new"] = parameters => {
         Dictionary <string, object> model = new Dictionary <string, object>();
         Category    selectedCategory      = Category.Find(parameters.id);
         List <Task> allTasks = selectedCategory.GetTasks();
         model.Add("category", selectedCategory);
         model.Add("tasks", allTasks);
         return(View["category_tasks_form.cshtml", model]);
     };
     Post["/tasks"] = _ => {
         Category selectedCategory   = Category.Find(Request.Form["category-id"]);
         int      selectedCategoryId = selectedCategory.GetId();
         string   taskDescription    = Request.Form["task-description"];
         DateTime taskDue            = Request.Form["task-due"];
         Task     newTask            = new Task(taskDescription, selectedCategoryId, taskDue);
         newTask.Save();
         List <Task> categoryTasks = selectedCategory.GetTasks();
         return(View["category.cshtml", selectedCategory]);
     };
     Post["/"] = _ => {
         Task.DeleteAll();
         Category.DeleteAll();
         return(View["index.cshtml"]);
     };
 }
        public void AddCategory(Category newCategory)
        {
            SqlConnection conn = DB.Connection();

            conn.Open();

            SqlCommand cmd = new SqlCommand("INSERT INTO categories_tasks (category_id, task_id) VALUES (@CategoryId, @TaskId);", conn);

            cmd.Parameters.AddWithValue("@CategoryId", newCategory.GetId());
            cmd.Parameters.AddWithValue("@TaskId", this.GetId());

            cmd.ExecuteNonQuery();

            if (conn != null)
            {
                conn.Close();
            }
        }
Exemple #15
0
        public void Test_DeleteCategory_DeletesEntireCategory()
        {
            // Arrange
            Category newCategory = new Category("Kitchen");

            newCategory.Save();
            int targetId = newCategory.GetId();

            Task firstTask = new Task("Wash Dishes", "1999-01-01");

            firstTask.Save();
            Task secondTask = new Task("Empty Dishwasher", "2000-01-01");

            secondTask.Save();

            //Act
            newCategory.Delete();

            //Assert
            Assert.Equal(0, Category.GetAll().Count);
        }
Exemple #16
0
        public void Test_Delete_DeletesCategoryFromDatabase()
        {
            //Arrange
            string   name1         = "Home stuff";
            Category testCategory1 = new Category(name1);

            testCategory1.Save();

            string   name2         = "Work stuff";
            Category testCategory2 = new Category(name2);

            testCategory2.Save();

            Task testTask1 = new Task("Mow the lawn", testCategory1.GetId());

            testTask1.Save();
            Task testTask2 = new Task("Send emails", testCategory2.GetId());

            testTask2.Save();

            //Act
            testCategory1.Delete();
            List <Category> resultCategories = Category.GetAll();
            List <Category> testCategoryList = new List <Category> {
                testCategory2
            };

            List <Task> resultTasks  = Task.GetAll();
            List <Task> testTaskList = new List <Task> {
                testTask2
            };

            //Assert
            Assert.Equal(testCategoryList, resultCategories);
            Assert.Equal(testTaskList, resultTasks);
        }
Exemple #17
0
    public void AddCategory(Category newCategory)
    {
      SqlConnection conn = DB.Connection();
      conn.Open();

      SqlCommand cmd = new SqlCommand("INSERT INTO categories_tasks (category_id, task_id) VALUES (@CategoryId, @TaskId);", conn);

      SqlParameter categoryIdParameter = new SqlParameter();
      categoryIdParameter.ParameterName = "@CategoryId";
      categoryIdParameter.Value = newCategory.GetId();
      cmd.Parameters.Add(categoryIdParameter);

      SqlParameter taskIdParameter = new SqlParameter();
      taskIdParameter.ParameterName = "@TaskId";
      taskIdParameter.Value = this.GetId();
      cmd.Parameters.Add(taskIdParameter);

      cmd.ExecuteNonQuery();

      if (conn != null)
      {
        conn.Close();
      }
    }
 public HomeModule()
 {
     Get["/"] = _ => {
         return(View["index.cshtml"]);
     };
     Get["/tasks/new"] = _ => {
         return(View["task_form.cshtml"]);
     };
     Post["/tasks/new"] = _ => {
         Task newTask = new Task(Request.Form["task-description"]);
         newTask.Save();
         return(View["success.cshtml"]);
     };
     Get["/categories"] = _ => {
         var allCategories = Category.GetAll();
         return(View["categories.cshtml", allCategories]);
     };
     Get["/tasks"] = _ => {
         List <Task> allTasks = Task.GetAll();
         return(View["tasks.cshtml", allTasks]);
     };
     Get["/categories/new"] = _ => {
         return(View["category_form.cshtml"]);
     };
     Post["/categories/new"] = _ => {
         Category newCategory = new Category(Request.Form["category-name"]);
         newCategory.Save();
         return(View["success.cshtml"]);
     };
     Get["tasks/{id}"] = parameters => {
         Dictionary <string, object> model = new Dictionary <string, object>();
         Task            SelectedTask      = Task.Find(parameters.id);
         List <Category> TaskCategories    = SelectedTask.GetCategories();
         List <Category> AllCategories     = Category.GetAll();
         model.Add("task", SelectedTask);
         model.Add("taskCategories", TaskCategories);
         model.Add("allCategories", AllCategories);
         return(View["task.cshtml", model]);
     };
     Get["categories/{id}"] = parameters => {
         Dictionary <string, object> model = new Dictionary <string, object>();
         Category    SelectedCategory      = Category.Find(parameters.id);
         List <Task> CategoryTasks         = SelectedCategory.GetTasks();
         List <Task> AllTasks = Task.GetAll();
         model.Add("category", SelectedCategory);
         model.Add("categoryTasks", CategoryTasks);
         model.Add("allTasks", AllTasks);
         return(View["category.cshtml", model]);
     };
     Post["/categories"] = _ => {
         var newCategory = new Category(Request.Form["category-name"]);
         newCategory.Save();
         var allCategories = Category.GetAll();
         return(View["categories.cshtml", allCategories]);
     };
     Post["/tasks"] = _ => {
         Category selectedCategory   = Category.Find(Request.Form["category-id"]);
         int      selectedCategoryId = selectedCategory.GetId();
         string   taskDescription    = Request.Form["task-description"];
         Task     newTask            = new Task(taskDescription);
         newTask.Save();
         List <Task> categoryTasks = selectedCategory.GetTasks();
         return(View["category.cshtml", selectedCategory]);
     };
     Post["task/add_category"] = _ => {
         Category category = Category.Find(Request.Form["category-id"]);
         Task     task     = Task.Find(Request.Form["task-id"]);
         task.AddCategory(category);
         return(View["success.cshtml"]);
     };
     Post["category/add_task"] = _ => {
         Category category = Category.Find(Request.Form["category-id"]);
         Task     task     = Task.Find(Request.Form["task-id"]);
         category.AddTask(task);
         return(View["success.cshtml"]);
     };
 }
Exemple #19
0
        public void AddCategory(Category newCategory)
        {
            SqlConnection conn = DB.Connection();
              conn.Open();

              SqlDataReader rdrCheckForDuplicate = null;
              SqlCommand cmdCheckForDuplicate = new SqlCommand("SELECT * FROM categories_tasks WHERE category_id=@CategoryId AND task_id=@TaskId", conn);
              SqlParameter categoryIdParameterCheckForDuplicate = new SqlParameter();
              categoryIdParameterCheckForDuplicate.ParameterName = "@CategoryId";
              categoryIdParameterCheckForDuplicate.Value = newCategory.GetId();
              cmdCheckForDuplicate.Parameters.Add(categoryIdParameterCheckForDuplicate);

              SqlParameter taskIdParameterCheckForDuplicate = new SqlParameter();
              taskIdParameterCheckForDuplicate.ParameterName = "@TaskId";
              taskIdParameterCheckForDuplicate.Value = this.GetId();
              cmdCheckForDuplicate.Parameters.Add(taskIdParameterCheckForDuplicate);

              List<int> matchedJoins = new List<int> {};
              rdrCheckForDuplicate = cmdCheckForDuplicate.ExecuteReader();

              while(rdrCheckForDuplicate.Read())
              {
            matchedJoins.Add(rdrCheckForDuplicate.GetInt32(0));
              }
              if (rdrCheckForDuplicate != null) rdrCheckForDuplicate.Close();

              if (matchedJoins.Count == 0)
              {
            SqlCommand cmd = new SqlCommand("INSERT INTO categories_tasks (category_id, task_id) VALUES (@CategoryId, @TaskId);", conn);

            SqlParameter categoryIdParameter = new SqlParameter();
            categoryIdParameter.ParameterName = "@CategoryId";
            categoryIdParameter.Value = newCategory.GetId();
            cmd.Parameters.Add(categoryIdParameter);

            SqlParameter taskIdParameter = new SqlParameter();
            taskIdParameter.ParameterName = "@TaskId";
            taskIdParameter.Value = this.GetId();
            cmd.Parameters.Add(taskIdParameter);

            cmd.ExecuteNonQuery();
              }

              if (conn != null)
              {
            conn.Close();
              }
        }
        public void Test_GetTasks_RetrievesAllTaskWithCategory()
        {
            Category testCategory = new Category("Household chores");
              testCategory.Save();

              DateTime fakeTime = new DateTime(2014, 1, 1);
              Task firstTask = new Task ("Mow the lawn", testCategory.GetId(), fakeTime);
              firstTask.Save();
              Task secondTask = new Task("Do the dishes", testCategory.GetId(), fakeTime);
              secondTask.Save();

              List<Task> testTaskList = new List<Task> {firstTask, secondTask};
              List<Task> resultTaskList = testCategory.GetTasks();

              Assert.Equal(testTaskList, resultTaskList);
        }
    public void AddCategory(Category newCategory)
    {
      SqlConnection conn = DB.Connection();
      conn.Open();

      SqlCommand cmd = new SqlCommand("INSERT INTO categories_tasks (category_id, task_id) VALUES (@CategoryId, @TaskId);", conn);

      SqlParameter categoryIdParameter = new SqlParameter();
      categoryIdParameter.ParameterName = "@CategoryId";
      categoryIdParameter.Value = newCategory.GetId();
      cmd.Parameters.Add(categoryIdParameter);

      SqlParameter taskIdParameter = new SqlParameter();
      taskIdParameter.ParameterName = "@TaskId";
      taskIdParameter.Value = this.GetId();
      cmd.Parameters.Add(taskIdParameter);

      cmd.ExecuteNonQuery();

      if (conn != null)
      {
        conn.Close();
      }
    }