mirror of
https://github.com/benjamin-wilson/public-pool.git
synced 2026-09-29 09:05:06 -07:00
41 lines
1.5 KiB
TypeScript
41 lines
1.5 KiB
TypeScript
import { plainToInstance } from 'class-transformer';
|
|
|
|
import { AuthorizationMessage } from './AuthorizationMessage';
|
|
|
|
describe('AuthorizationMessage', () => {
|
|
it('should parse address, worker, and starting difficulty', () => {
|
|
const message = plainToInstance(
|
|
AuthorizationMessage,
|
|
JSON.parse('{"id":3,"method":"mining.authorize","params":["tb1qumezefzdeqqwn5zfvgdrhxjzc5ylr39uhuxcz4.worker1","x,d=2048"]}')
|
|
);
|
|
|
|
expect(message.address).toBe('tb1qumezefzdeqqwn5zfvgdrhxjzc5ylr39uhuxcz4');
|
|
expect(message.worker).toBe('worker1');
|
|
expect(message.password).toBe('x,d=2048');
|
|
expect(message.startingDiff).toBe(2048);
|
|
});
|
|
|
|
it('should default worker name when one is not provided', () => {
|
|
const message = plainToInstance(
|
|
AuthorizationMessage,
|
|
JSON.parse('{"id":3,"method":"mining.authorize","params":["tb1qumezefzdeqqwn5zfvgdrhxjzc5ylr39uhuxcz4","x"]}')
|
|
);
|
|
|
|
expect(message.worker).toBe('worker');
|
|
expect(message.startingDiff).toBeNull();
|
|
});
|
|
|
|
it('should build successful authorization responses', () => {
|
|
const message = plainToInstance(
|
|
AuthorizationMessage,
|
|
JSON.parse('{"id":3,"method":"mining.authorize","params":["tb1qumezefzdeqqwn5zfvgdrhxjzc5ylr39uhuxcz4.worker1","x"]}')
|
|
);
|
|
|
|
expect(message.response()).toEqual({
|
|
id: 3,
|
|
error: null,
|
|
result: true
|
|
});
|
|
});
|
|
});
|