fix!!!!
This commit is contained in:
parent
291649b6e7
commit
e639496be2
3 changed files with 78 additions and 0 deletions
|
@ -2,6 +2,7 @@ import main from './main.js';
|
||||||
import homeTimeline from './home-timeline.js';
|
import homeTimeline from './home-timeline.js';
|
||||||
import localTimeline from './local-timeline.js';
|
import localTimeline from './local-timeline.js';
|
||||||
import hybridTimeline from './hybrid-timeline.js';
|
import hybridTimeline from './hybrid-timeline.js';
|
||||||
|
import recommendedTimeline from './recommended-timeline.js';
|
||||||
import globalTimeline from './global-timeline.js';
|
import globalTimeline from './global-timeline.js';
|
||||||
import serverStats from './server-stats.js';
|
import serverStats from './server-stats.js';
|
||||||
import queueStats from './queue-stats.js';
|
import queueStats from './queue-stats.js';
|
||||||
|
@ -18,6 +19,7 @@ export default {
|
||||||
main,
|
main,
|
||||||
homeTimeline,
|
homeTimeline,
|
||||||
localTimeline,
|
localTimeline,
|
||||||
|
recommendedTimeline,
|
||||||
hybridTimeline,
|
hybridTimeline,
|
||||||
globalTimeline,
|
globalTimeline,
|
||||||
serverStats,
|
serverStats,
|
||||||
|
|
|
@ -223,6 +223,78 @@ describe('Streaming', () => {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('Recommended Timeline', () => {
|
||||||
|
it('自分の投稿が流れる', async () => {
|
||||||
|
const fired = await waitFire(
|
||||||
|
ayano, 'recommendedTimeline', // ayano:Local
|
||||||
|
() => api('notes/create', { text: 'foo' }, ayano), // ayano posts
|
||||||
|
msg => msg.type === 'note' && msg.body.text === 'foo'
|
||||||
|
);
|
||||||
|
|
||||||
|
assert.strictEqual(fired, true);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('フォローしていないローカルユーザーの投稿が流れる', async () => {
|
||||||
|
const fired = await waitFire(
|
||||||
|
ayano, 'recommendedTimeline', // ayano:Local
|
||||||
|
() => api('notes/create', { text: 'foo' }, chitose), // chitose posts
|
||||||
|
msg => msg.type === 'note' && msg.body.userId === chitose.id // wait chitose
|
||||||
|
);
|
||||||
|
|
||||||
|
assert.strictEqual(fired, true);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('リモートユーザーの投稿は流れない', async () => {
|
||||||
|
const fired = await waitFire(
|
||||||
|
ayano, 'recommendedTimeline', // ayano:Local
|
||||||
|
() => api('notes/create', { text: 'foo' }, chinatsu), // chinatsu posts
|
||||||
|
msg => msg.type === 'note' && msg.body.userId === chinatsu.id // wait chinatsu
|
||||||
|
);
|
||||||
|
|
||||||
|
assert.strictEqual(fired, false);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('フォローしてたとしてもリモートユーザーの投稿は流れない', async () => {
|
||||||
|
const fired = await waitFire(
|
||||||
|
ayano, 'recommendedTimeline', // ayano:Local
|
||||||
|
() => api('notes/create', { text: 'foo' }, akari), // akari posts
|
||||||
|
msg => msg.type === 'note' && msg.body.userId === akari.id // wait akari
|
||||||
|
);
|
||||||
|
|
||||||
|
assert.strictEqual(fired, false);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('ホーム指定の投稿は流れない', async () => {
|
||||||
|
const fired = await waitFire(
|
||||||
|
ayano, 'recommendedTimeline', // ayano:Local
|
||||||
|
() => api('notes/create', { text: 'foo', visibility: 'home' }, kyoko), // kyoko home posts
|
||||||
|
msg => msg.type === 'note' && msg.body.userId === kyoko.id // wait kyoko
|
||||||
|
);
|
||||||
|
|
||||||
|
assert.strictEqual(fired, false);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('フォローしているローカルユーザーのダイレクト投稿は流れない', async () => {
|
||||||
|
const fired = await waitFire(
|
||||||
|
ayano, 'recommendedTimeline', // ayano:Local
|
||||||
|
() => api('notes/create', { text: 'foo', visibility: 'specified', visibleUserIds: [ayano.id] }, kyoko), // kyoko DM => ayano
|
||||||
|
msg => msg.type === 'note' && msg.body.userId === kyoko.id // wait kyoko
|
||||||
|
);
|
||||||
|
|
||||||
|
assert.strictEqual(fired, false);
|
||||||
|
});
|
||||||
|
|
||||||
|
it('フォローしていないローカルユーザーのフォロワー宛て投稿は流れない', async () => {
|
||||||
|
const fired = await waitFire(
|
||||||
|
ayano, 'recommendedTimeline', // ayano:Local
|
||||||
|
() => api('notes/create', { text: 'foo', visibility: 'followers' }, chitose),
|
||||||
|
msg => msg.type === 'note' && msg.body.userId === chitose.id // wait chitose
|
||||||
|
);
|
||||||
|
|
||||||
|
assert.strictEqual(fired, false);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
describe('Hybrid Timeline', () => {
|
describe('Hybrid Timeline', () => {
|
||||||
it('自分の投稿が流れる', async () => {
|
it('自分の投稿が流れる', async () => {
|
||||||
const fired = await waitFire(
|
const fired = await waitFire(
|
||||||
|
|
|
@ -77,6 +77,10 @@ if (props.src === 'antenna') {
|
||||||
endpoint = 'notes/local-timeline';
|
endpoint = 'notes/local-timeline';
|
||||||
connection = stream.useChannel('localTimeline');
|
connection = stream.useChannel('localTimeline');
|
||||||
connection.on('note', prepend);
|
connection.on('note', prepend);
|
||||||
|
} else if (props.src === 'recommended') {
|
||||||
|
endpoint = 'notes/recommended-timeline';
|
||||||
|
connection = stream.useChannel('recommendedTimeline');
|
||||||
|
connection.on('note', prepend);
|
||||||
} else if (props.src === 'social') {
|
} else if (props.src === 'social') {
|
||||||
endpoint = 'notes/hybrid-timeline';
|
endpoint = 'notes/hybrid-timeline';
|
||||||
connection = stream.useChannel('hybridTimeline');
|
connection = stream.useChannel('hybridTimeline');
|
||||||
|
|
Loading…
Reference in a new issue