chore: add tests
This commit is contained in:
@@ -16,6 +16,43 @@ func TestPrivilegeHandler_Process_InvalidType(t *testing.T) {
|
||||
assert.False(t, result)
|
||||
}
|
||||
|
||||
func TestPrivilegeHandler_Process_PrivilegeRemoved(t *testing.T) {
|
||||
handler := New(WithBaseURL("base"))
|
||||
|
||||
result := handler.Process(&PrivilegeAdded{
|
||||
Email: "jim@example.org",
|
||||
CompanyID: "abc-123",
|
||||
Admin: true,
|
||||
Company: true,
|
||||
Consumer: true,
|
||||
Time: true,
|
||||
Invoicing: true,
|
||||
Accounting: true,
|
||||
Supplier: true,
|
||||
})
|
||||
assert.True(t, result)
|
||||
|
||||
companies := handler.CompaniesByUser("jim@example.org", func(privileges CompanyPrivileges) bool {
|
||||
return privileges.Admin
|
||||
})
|
||||
|
||||
assert.Equal(t, []string{"abc-123"}, companies)
|
||||
|
||||
result = handler.Process(&PrivilegeRemoved{
|
||||
Email: "jim@example.org",
|
||||
CompanyID: "abc-123",
|
||||
Name: "name",
|
||||
RegistrationNumber: "reg-no",
|
||||
})
|
||||
assert.True(t, result)
|
||||
|
||||
companies = handler.CompaniesByUser("jim@example.org", func(privileges CompanyPrivileges) bool {
|
||||
return privileges.Admin
|
||||
})
|
||||
|
||||
assert.Empty(t, companies)
|
||||
}
|
||||
|
||||
func TestPrivilegeHandler_GetCompanies_Email_Not_Found(t *testing.T) {
|
||||
handler := New(WithBaseURL("base"))
|
||||
|
||||
@@ -95,6 +132,38 @@ func TestPrivilegeHandler_GetCompanies_Company_With_Admin_Access_Found(t *testin
|
||||
assert.Equal(t, []string{"abc-123"}, companies)
|
||||
}
|
||||
|
||||
func TestPrivilegeHandler_IsAllowed_Return_False_If_No_Privileges(t *testing.T) {
|
||||
handler := New(WithBaseURL("base"))
|
||||
|
||||
result := handler.IsAllowed("jim@example.org", "abc-123", func(privileges CompanyPrivileges) bool {
|
||||
return privileges.Company
|
||||
})
|
||||
|
||||
assert.False(t, result)
|
||||
}
|
||||
|
||||
func TestPrivilegeHandler_IsAllowed_Return_True_If_Privilege_Exists(t *testing.T) {
|
||||
handler := New(WithBaseURL("base"))
|
||||
|
||||
handler.Process(&PrivilegeAdded{
|
||||
Email: "jim@example.org",
|
||||
CompanyID: "abc-123",
|
||||
Admin: false,
|
||||
Company: true,
|
||||
Consumer: false,
|
||||
Time: false,
|
||||
Invoicing: false,
|
||||
Accounting: false,
|
||||
Supplier: false,
|
||||
})
|
||||
|
||||
result := handler.IsAllowed("jim@example.org", "abc-123", func(privileges CompanyPrivileges) bool {
|
||||
return privileges.Company
|
||||
})
|
||||
|
||||
assert.True(t, result)
|
||||
}
|
||||
|
||||
func TestPrivilegeHandler_Fetch_Error_Response(t *testing.T) {
|
||||
server := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
w.WriteHeader(500)
|
||||
|
||||
Reference in New Issue
Block a user