Codeception Test Ajax Post request


So I’m trying to implement a test to verify that a submission is deleted. Trying to stick with best practices, I use a simple AJAX script to send a POST request to delete an entry from a table. Once the request is executed, the browser is supposed to redirect to another page. In my browser, it behaves exactly as expected, however, in Codeception, the test fails.

What do I need to do in Codeception so that this test passes correctly?

Here is the function for the deletion

public function actionDelete()


        if (Yii::$app->request->isAjax && Yii::$app->request->isPost) {

            $today = Today::findOne(['user_id' => Yii::$app->user->id]);

            if ($today->delete()) {

                return $this->redirect('new-today');




And here is the test function in Codeception

public function deleteTodaysResponse(FunctionalTester $I)


        $user = $I->grabFixture('user', 'user1');

        $today = $I->grabFixture('today', '1');








        $I->dontSeeRecord('frontend\models\Today', array('user_id' => $user['id']));


I’ve also tried replacing




Still no luck. Fails at “$I->seeInCurrentUrl(‘today/new-today’);” in either case.

What am I doing wrong here?

Are you running functional or acceptance tests?

Ajax will only work with acceptance tests as far as i know.

Ah, it’s a functional test.

In light of that information, how can I go about in getting this test to pass properly?

Any advice would be appreciated.

[color="#006400"]/* moved to testing */[/color]