GH Actions: F/E e2e Test (4)

This commit is contained in:
ADAMJR 2021-11-09 13:52:11 +00:00
parent e4d8444723
commit 88c7cdf660
3 changed files with 13 additions and 3 deletions

View File

@ -47,8 +47,8 @@ jobs:
uses: actions/checkout@v2
- name: Install Backend Packages
run: npm i -f
working-directory: ./frontend
run: npm ci
working-directory: ./backend
# assumes this stays in background
- name: Start Backend for Frontend e2e

View File

@ -5,6 +5,7 @@ import { WebSocket } from '../websocket';
import { WSEvent, } from './ws-event';
import Channels from '../../data/channels';
import { WS } from '../../types/ws';
import { Channel } from '../../data/models/channel';
// TODO: int. test
export default class implements WSEvent<'CHANNEL_UPDATE'> {
@ -15,7 +16,7 @@ export default class implements WSEvent<'CHANNEL_UPDATE'> {
private guard = deps.wsGuard,
) {}
public async invoke(ws: WebSocket, client: Socket, { name, summary, overrides, channelId }: WS.Params.ChannelUpdate) {
public async invoke(ws: WebSocket, client: Socket, { position, name, summary, overrides, channelId }: WS.Params.ChannelUpdate) {
const channel = await this.channels.get(channelId);
await this.guard.validateCan(client, channel.guildId, 'MANAGE_CHANNELS');
@ -23,6 +24,14 @@ export default class implements WSEvent<'CHANNEL_UPDATE'> {
if (name) partialChannel.name = name;
if (overrides) partialChannel.overrides = overrides;
if (summary) partialChannel.summary = summary;
// TODO: testme
if (position) {
partialChannel.position = position;
await Channel.updateMany({
guildId: channel.guildId,
position: { $gt: position },
}, {});
}
Object.assign(channel, partialChannel);
await channel.save();

1
types/ws.d.ts vendored
View File

@ -136,6 +136,7 @@ declare namespace WS {
summary?: string;
name?: string;
overrides?: ChannelTypes.Override[];
position?: number;
}
export interface ChannelJoin {
/** ID of the channel to join. */