feat: Replace alertMixin usage with useAlert (#9793)
# Pull Request Template ## Description This PR will replace the usage of `alertMixin` from the code base with the `useAlert` composable. Fixes https://linear.app/chatwoot/issue/CW-3462/replace-alertmixin-usage-with-usealert ## Type of change - [x] Breaking change (fix or feature that would cause existing functionality not to work as expected) ## How Has This Been Tested? Please refer this issue description https://linear.app/chatwoot/issue/CW-3462/replace-alertmixin-usage-with-usealert ## Checklist: - [x] My code follows the style guidelines of this project - [x] I have performed a self-review of my code - [ ] I have commented on my code, particularly in hard-to-understand areas - [ ] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [x] I have added tests that prove my fix is effective or that my feature works - [x] New and existing unit tests pass locally with my changes - [ ] Any dependent changes have been merged and published in downstream modules --------- Co-authored-by: Sojan Jose <sojan@pepalo.com>
This commit is contained in:
52
app/javascript/dashboard/composables/spec/useAdmin.spec.js
Normal file
52
app/javascript/dashboard/composables/spec/useAdmin.spec.js
Normal file
@@ -0,0 +1,52 @@
|
||||
import { ref } from 'vue';
|
||||
import { useAdmin } from '../useAdmin';
|
||||
import { useStoreGetters } from 'dashboard/composables/store';
|
||||
|
||||
vi.mock('dashboard/composables/store');
|
||||
|
||||
describe('useAdmin', () => {
|
||||
it('returns true if the current user is an administrator', () => {
|
||||
useStoreGetters.mockReturnValue({
|
||||
getCurrentRole: ref('administrator'),
|
||||
});
|
||||
|
||||
const { isAdmin } = useAdmin();
|
||||
expect(isAdmin.value).toBe(true);
|
||||
});
|
||||
|
||||
it('returns false if the current user is not an administrator', () => {
|
||||
useStoreGetters.mockReturnValue({
|
||||
getCurrentRole: ref('user'),
|
||||
});
|
||||
|
||||
const { isAdmin } = useAdmin();
|
||||
expect(isAdmin.value).toBe(false);
|
||||
});
|
||||
|
||||
it('returns false if the current user role is null', () => {
|
||||
useStoreGetters.mockReturnValue({
|
||||
getCurrentRole: ref(null),
|
||||
});
|
||||
|
||||
const { isAdmin } = useAdmin();
|
||||
expect(isAdmin.value).toBe(false);
|
||||
});
|
||||
|
||||
it('returns false if the current user role is undefined', () => {
|
||||
useStoreGetters.mockReturnValue({
|
||||
getCurrentRole: ref(undefined),
|
||||
});
|
||||
|
||||
const { isAdmin } = useAdmin();
|
||||
expect(isAdmin.value).toBe(false);
|
||||
});
|
||||
|
||||
it('returns false if the current user role is an empty string', () => {
|
||||
useStoreGetters.mockReturnValue({
|
||||
getCurrentRole: ref(''),
|
||||
});
|
||||
|
||||
const { isAdmin } = useAdmin();
|
||||
expect(isAdmin.value).toBe(false);
|
||||
});
|
||||
});
|
||||
Reference in New Issue
Block a user