Skip to content
This repository has been archived by the owner on Nov 10, 2022. It is now read-only.

Commit

Permalink
feat: rename state event to reset-state
Browse files Browse the repository at this point in the history
  • Loading branch information
severo committed Jan 27, 2020
1 parent 2e25cee commit a3fb61f
Show file tree
Hide file tree
Showing 6 changed files with 21 additions and 21 deletions.
2 changes: 1 addition & 1 deletion src/domain/events/toclient/event.to.client.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
export class EventToClient {
// static readonly RoomGuestsList = 'room-guests-list'

static readonly State = 'state'
static readonly ResetState = 'reset-state'
static readonly UsersList = 'users-list'

static readonly InternalServerError = 'internal-server-error'
Expand Down
2 changes: 1 addition & 1 deletion src/domain/events/toclient/index.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
// export * from "./room.guests.list.event";

export * from './state.event'
export * from './reset.state.event'
export * from './users.list.event'

export * from './internal.server.error.event'
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
import { expect } from 'chai'
import { StateEvent } from './state.event'
import { ResetStateEvent } from './reset.state.event'

describe('Events', () => {
describe('StateEvent', () => {
it("should have 'state' event as name", () => {
expect(StateEvent.eventName).to.equal('state')
describe('ResetStateEvent', () => {
it("should have 'reset-state' event as name", () => {
expect(ResetStateEvent.eventName).to.equal('reset-state')
})
it('should initialize a string', () => {
// arrange
const state: string = `["~#iL",[]]`

// act
const event = new StateEvent(state)
const event = new ResetStateEvent(state)

// assert
expect(event.state).to.deep.equal(state)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { EventToClient } from './event.to.client'

export class StateEvent {
static eventName: string = EventToClient.State
export class ResetStateEvent {
static eventName: string = EventToClient.ResetState
constructor(public readonly state: string) {}
}
14 changes: 7 additions & 7 deletions src/socket.io/socket.spec.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ import {
UpdateUserNameEvent,
UpdateUserColorEvent,
} from '../domain/events/toserver'
import { StateEvent, UsersListEvent } from '../domain/events/toclient'
import { ResetStateEvent, UsersListEvent } from '../domain/events/toclient'
import { ExportedUser } from '../domain'

const PORT: number = 5000
Expand Down Expand Up @@ -106,13 +106,13 @@ describe('Server', () => {

it('should send an empty Automerge state to a new user meanwhile the state has not been changed', async () => {
// arrange
const getStateEvent = (): Promise<string> =>
const getResetStateEvent = (): Promise<string> =>
new Promise(resolve =>
passiveClient.on(StateEvent.eventName, resolve)
passiveClient.on(ResetStateEvent.eventName, resolve)
)

// act
const state = await getStateEvent()
const state = await getResetStateEvent()

// assert
expect(Automerge.load(state)).to.deep.equal({})
Expand Down Expand Up @@ -372,19 +372,19 @@ describe('Server', () => {
it('should send the persisted state to a new client, after the state had been updated', async () => {
// arrange
let newClient: SocketIOClient.Socket
const getStateEvent = (): Promise<string> => {
const getResetStateEvent = (): Promise<string> => {
return new Promise(resolve => {
newClient = ioClient.connect(
socketUrl + '/occupapp-beta',
options
)
newClient.on(StateEvent.eventName, resolve)
newClient.on(ResetStateEvent.eventName, resolve)
})
}

// act
await updateState(changes)
const state = await getStateEvent()
const state = await getResetStateEvent()

// assert
expect(Automerge.load(state)).to.deep.equal(newState)
Expand Down
10 changes: 5 additions & 5 deletions src/socket.io/socket.ts
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import {
UpdateUserNameEvent,
UpdateUserColorEvent,
} from '../domain/events/toserver'
import { StateEvent, UsersListEvent } from '../domain/events/toclient'
import { ResetStateEvent, UsersListEvent } from '../domain/events/toclient'
import { ExportedUser, User } from '../domain'

class Socket {
Expand All @@ -28,7 +28,7 @@ class Socket {
// connections
const socketUser: User = this.createUser(socket.id)
this.emitUsersListToAll()
this.emitStateToUser(socket)
this.emitResetStateToUser(socket)

socket.on(DisconnectEvent.eventName, (reason: string) => {
this.log.info(
Expand Down Expand Up @@ -178,10 +178,10 @@ class Socket {
return [...this.users.values()].map(user => user.export())
}

private emitStateToUser(socket: SocketIO.Socket) {
private emitResetStateToUser(socket: SocketIO.Socket) {
// TODO: add log?
const stateEvent = new StateEvent(this.savedAutomergeState)
socket.emit(StateEvent.eventName, stateEvent.state)
const resetStateEvent = new ResetStateEvent(this.savedAutomergeState)
socket.emit(ResetStateEvent.eventName, resetStateEvent.state)
}

private emitUpdateStateToOthers(
Expand Down

0 comments on commit a3fb61f

Please sign in to comment.