PostText/t/preview.t

64 lines
1.6 KiB
Perl
Raw Normal View History

2023-08-13 20:39:36 -04:00
use Mojo::Base -strict;
use Test::More;
use Test::Mojo;
my $t = Test::Mojo->new('PostText');
2023-11-10 13:23:18 -05:00
# For CAPTCHA
my %good_captcha = (answer => 1, number => '');
my $bump_thread_url =
'/captcha/H4sIAImTzmQAA8soKSmw0tfPyU9OzMnILy6xMjYwMNDPKM1NzNMvyShKTUzRTyrNLdA3BAD5ek7T%0AKQAAAA==%0A';
my %preview_thread = (
author => 'Anonymous',
title => 'hi',
body => 'ayy... lmao',
preview => 1
);
2023-08-13 20:39:36 -04:00
my %preview_remark = (
author => 'Anonymous',
body => 'ayy... lmao',
preview => 1
);
2023-11-10 13:23:18 -05:00
# Do CAPTCHA
$t->get_ok($bump_thread_url);
$good_captcha{'csrf_token'} =
$t->tx->res->dom->at('input[name="csrf_token"]')->val;
2023-11-10 13:23:18 -05:00
$t->post_ok($bump_thread_url, form => \%good_captcha)
->status_is(302)
->header_like(Location => qr{human/thread/bump/1});
2023-08-13 20:39:36 -04:00
subtest 'Check the form + button', sub {
2023-11-10 13:23:18 -05:00
$t->get_ok('/human/remark/post/1')->status_is(200)
2023-08-13 20:39:36 -04:00
->element_exists('input[id="preview"]');
2023-11-10 13:23:18 -05:00
$t->get_ok('/human/thread/post')->status_is(200)
->element_exists('input[id="preview"]');
2023-08-13 20:39:36 -04:00
};
subtest 'Submit input', sub {
$t->get_ok('/human/remark/post/1');
$preview_remark{'csrf_token'} =
$t->tx->res->dom->at('input[name="csrf_token"]')->val;
2023-11-10 13:23:18 -05:00
$t->post_ok('/human/remark/post/1', form => \%preview_remark)
2023-08-13 20:39:36 -04:00
->status_is(200)
->text_like(p => qr/ayy\.\.\. lmao/);
2024-08-11 22:24:12 -04:00
$t->get_ok('/human/thread/post');
$preview_thread{'csrf_token'} =
$t->tx->res->dom->at('input[name="csrf_token"]')->val;
2023-11-10 13:23:18 -05:00
$t->post_ok('/human/thread/post', form => \%preview_thread)
->status_is(200)
->text_like(p => qr/ayy\.\.\. lmao/);
2023-08-13 20:39:36 -04:00
};
done_testing;