generated from archtechx/template
-
Notifications
You must be signed in to change notification settings - Fork 24
/
FlippTest.php
44 lines (32 loc) · 1.41 KB
/
FlippTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?php
beforeEach(fn () => config(['services.flipp.key' => 'abc']));
test('flipp templates can be set', function () {
seo()->flipp('blog', 'abcdefg');
expect(seo()->meta('flipp.templates'))
->toHaveCount(1)
->toHaveKey('blog', 'abcdefg');
});
test('flipp templates can be given data', function () {
seo()->flipp('blog', 'abcdefg');
expect(seo()->flipp('blog', ['title' => 'abc', 'excerpt' => 'def']))
->toContain('s.useflipp.com/blog')
->toContain(base64_encode(json_encode(['title' => 'abc', 'excerpt' => 'def'])));
});
test('the flipp method returns a link to a signed url', function () {
seo()->flipp('blog', 'abcdefg');
expect(seo()->flipp('blog', ['title' => 'abc']))
->toContain('?s=' . hash_hmac('sha256', 'blog' . base64_encode(json_encode(['title' => 'abc'])), config('services.flipp.key')));
});
test("flipp templates use default data when they're not passed any data explicitly", function () {
seo()->flipp('blog', 'abcdefg');
seo()->title('foo')->description('bar');
expect(seo()->flipp('blog'))
->toContain('s.useflipp.com/blog')
->toContain(base64_encode(json_encode(['title' => 'foo', 'description' => 'bar'])));
});
test('flipp images are used as the cover images', function () {
seo()->flipp('blog', 'abcdefg');
seo()->title('foo')->description('bar');
expect(seo()->flipp('blog'))
->toBe(seo('image'));
});