#include #include #include "greatest.h" #include "timer.h" #include "strops.hpp" #include "administration.hpp" TEST _administration_validate_project_add(void) { administration_create_empty(""); project p1 = administration_project_create_empty(); ASSERT_EQ(administration_project_add(p1), a_err::A_ERR_MISSING_DESCRIPTION); strops_copy(p1.description, "test project", sizeof(p1.description)); ASSERT_EQ(administration_project_add(p1), a_err::A_ERR_SUCCESS); PASS(); } TEST _administration_validate_project_import(void) { administration_create_empty(""); project p1 = administration_project_create_empty(); ASSERT_EQ(administration_project_import(p1), a_err::A_ERR_MISSING_DESCRIPTION); strops_copy(p1.description, "test project", sizeof(p1.description)); ASSERT_EQ(administration_project_import(p1), a_err::A_ERR_SUCCESS); PASS(); } TEST _administration_validate_project_update(void) { administration_create_empty(""); project p1 = administration_project_create_empty(); strops_copy(p1.description, "test project", sizeof(p1.description)); ASSERT_EQ(administration_project_add(p1), a_err::A_ERR_SUCCESS); strops_copy(p1.description, "", sizeof(p1.description)); ASSERT_EQ(administration_project_update(p1), a_err::A_ERR_MISSING_DESCRIPTION); strops_copy(p1.id, "-1", sizeof(p1.description)); strops_copy(p1.description, "test project 2", sizeof(p1.description)); ASSERT_EQ(administration_project_update(p1), a_err::A_ERR_NOT_FOUND); PASS(); } TEST _administration_validate_project_remove(void) { administration_create_empty(""); project p1 = administration_project_create_empty(); strops_copy(p1.description, "test project", sizeof(p1.description)); ASSERT_EQ(administration_project_add(p1), a_err::A_ERR_SUCCESS); ASSERT_EQ(administration_project_remove(p1), a_err::A_ERR_SUCCESS); ASSERT_EQ(administration_project_add(p1), a_err::A_ERR_SUCCESS); strops_copy(p1.id, "-1", sizeof(p1.description)); ASSERT_EQ(administration_project_remove(p1), a_err::A_ERR_NOT_FOUND); PASS(); } TEST _administration_validate_project_isvalid(void) { administration_create_empty(""); project p1 = administration_project_create_empty(); ASSERT_EQ(administration_project_is_valid(p1), a_err::A_ERR_MISSING_DESCRIPTION); strops_copy(p1.description, "test project", sizeof(p1.description)); ASSERT_EQ(administration_project_is_valid(p1), a_err::A_ERR_SUCCESS); PASS(); } SUITE(administration_validate) { RUN_TEST(_administration_validate_project_add); RUN_TEST(_administration_validate_project_import); RUN_TEST(_administration_validate_project_update); RUN_TEST(_administration_validate_project_remove); RUN_TEST(_administration_validate_project_isvalid); }