本文整理汇总了TypeScript中rxjs/index.Subject类的典型用法代码示例。如果您正苦于以下问题:TypeScript Subject类的具体用法?TypeScript Subject怎么用?TypeScript Subject使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Subject类的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: it
it('should update action items when a message is received', () => {
component.ngOnInit();
mockActiveRoute.params.next({teamId: 1});
(mockWebsocketService.openWebsocket('team1') as Subject<any>).next({bodyJson: {}});
expect(component.actionItems.length).toEqual(0);
actionItemTopic.next({
bodyJson: {
type: 'post',
payload: {'id': 1, 'task': 'hi', 'completed': false, 'teamId': 'test', 'assignee': ''}
}
});
expect(component.actionItems.length).toEqual(1);
const updatedActionItem = {
'id': 1,
'task': 'hi phil',
'completed': false,
'teamId': 'test',
'assignee': '',
state: 'active'
};
actionItemTopic.next({bodyJson: {type: 'put', payload: updatedActionItem}});
expect(component.actionItems.length).toEqual(1);
expect(component.actionItems[0]).toEqual(updatedActionItem);
});
示例2: describe
describe('TeamPageComponent', () => {
let mockActiveRoute;
let mockTeamService: TeamService;
let mockThoughtService: ThoughtService;
let mockActionItemService: ActionItemService;
let mockColumnService: ColumnService;
let mockWebsocketService: WebsocketService;
let mockSaveCheckerService: SaveCheckerService;
let mockBoardService: BoardService;
let heartbeatTopic: Subject<any>;
let thoughtsTopic: Subject<any>;
let actionItemTopic: Subject<any>;
let columnTitleTopic: Subject<any>;
let createBoardSubject: Subject<any>;
let component;
const testColumn: Column = {
id: 1,
topic: 'happy',
title: 'title',
teamId: 'team-id',
sorted: false
};
const fakeThoughtWithTestTopic = () => {
const thought: Thought = emptyThought();
thought.topic = testColumn.topic;
return thought;
};
beforeEach((() => {
heartbeatTopic = new Subject<any>();
thoughtsTopic = new Subject<any>();
actionItemTopic = new Subject<any>();
columnTitleTopic = new Subject<any>();
createBoardSubject = new Subject();
mockActiveRoute = {params: new Subject()};
mockTeamService = jasmine.createSpyObj({fetchTeamName: new Observable()});
mockThoughtService = jasmine.createSpyObj({fetchThoughts: new Observable()});
mockThoughtService.resetThoughtsObserver = jasmine.createSpyObj({subscribe: null});
mockActionItemService = jasmine.createSpyObj({fetchActionItems: new Observable()});
mockColumnService = jasmine.createSpyObj({
fetchColumns: new Observable(),
updateColumn: new Observable()
});
mockWebsocketService = jasmine.createSpyObj({
openWebsocket: new Subject(),
closeWebsocket: null,
getWebsocketState: WebSocket.CLOSED,
heartbeatTopic: heartbeatTopic,
thoughtsTopic: thoughtsTopic,
actionItemTopic: actionItemTopic,
columnTitleTopic: columnTitleTopic,
sendHeartbeat: null,
});
mockWebsocketService.intervalId = null;
mockSaveCheckerService = jasmine.createSpyObj({
updateTimestamp: null
});
mockBoardService = jasmine.createSpyObj({
createBoard: createBoardSubject
});
component = new TeamPageComponent(
mockActiveRoute,
mockTeamService,
mockThoughtService,
mockColumnService,
mockActionItemService,
mockWebsocketService,
mockSaveCheckerService,
mockBoardService
);
component.columns = [];
}));
it('should create', () => {
expect(component).toBeTruthy();
});
describe('getColumnThoughtCount', () => {
it('should return count of non-discussed thoughts', () => {
const discussedThought = emptyThought();
discussedThought.discussed = true;
discussedThought.topic = testColumn.topic;
component.thoughtsArray = [
discussedThought,
//.........这里部分代码省略.........