django-rest-messaging-js
Version:
Javascript consumer for django-rest-messaging and django-rest-messaging-centrifugo
52 lines (40 loc) • 1.54 kB
JavaScript
jest.dontMock('object-assign');
jest.dontMock('../MessagesLoadMore');
describe('MessagesLoadMore', function() {
var React;
var ReactDOM;
var TestUtils;
var MessagesLoadMore;
beforeEach(function() {
React = require('react');
ReactDOM = require('react-dom');
TestUtils = require('react-addons-test-utils');
MessagesLoadMore = require('../MessagesLoadMore');
MessageStore = require('../../stores/MessageStore');
});
it('defaults props and state', function(){
// we instantiate
var renderedMessagesLoadMore = TestUtils.renderIntoDocument( <MessagesLoadMore/> );
var messagesLoadMoreNode = ReactDOM.findDOMNode(renderedMessagesLoadMore);
expect(renderedMessagesLoadMore.props.wrappingTag).toEqual("button");
expect(renderedMessagesLoadMore.props.wrappingClass).toEqual("messagesMessagesLoadMore btn btn-default btn-sm col-md-12");
expect(renderedMessagesLoadMore.props.wrappingStyle).toEqual({});
expect(renderedMessagesLoadMore.props.loadText).toEqual('Load more ...');
// we set a thread and a message result set
renderedMessagesLoadMore.setState({
currentThread:{
id: 1
},
messagesResultSet:{
next: 'abc'
},
});
// we click on the button
var btn = TestUtils.scryRenderedDOMComponentsWithTag(renderedMessagesLoadMore, "button")[0];
var bntNode = ReactDOM.findDOMNode(btn);
// we spy
spyOn(MessageStore, "queryMessagesInThread");
TestUtils.Simulate.click(bntNode);
expect(MessageStore.queryMessagesInThread).toHaveBeenCalledWith(1, 'abc');
});
});