All files / packages/mutations/src/user change-avatar.ts

71.42% Statements 5/7
100% Branches 2/2
66.66% Functions 4/6
80% Lines 4/5

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25      23x   2x 2x   2x                                
import { update as updateUser } from "../cache/user";
import type { UseContextedMutationOptions } from "../context";
 
export const options: UseContextedMutationOptions<"user.changeAvatar"> = {
	mutationKey: "user.changeAvatar",
	onSuccess: (controllerContext) => (result) => {
		updateUser(controllerContext, {
			get: (controller) => {
				controller.update((data) => ({
					...data,
					user: {
						...data.user,
						avatarUrl: result ? result.url : undefined,
					},
				}));
			},
		});
	},
	errorToastOptions:
		({ t }) =>
		(errors) => ({
			text: t("toasts.changeAvatar.error", { ns: "user", errors }),
		}),
};