Skip to content

Fix flaky test test_submissions_are_random_by_user #4526

@marcoacierno

Description

@marcoacierno

The test test_submissions_are_random_by_user is flaky, because of the logic is to assert the submissions are returned in a different order per user

Find a better way to test this behaviour

    def test_submissions_are_random_by_user(graphql_client, mock_has_ticket):
        user_1 = UserFactory()
        user_2 = UserFactory()
        user_3 = UserFactory()
    
        graphql_client.force_login(user_1)
    
        submission = SubmissionFactory()
        SubmissionFactory(conference=submission.conference)
        SubmissionFactory(conference=submission.conference)
    
        mock_has_ticket(submission.conference)
    
        query = """query Submissions($code: String!, $page: Int) {
            submissions(code: $code, page: $page, pageSize: 3) {
                pageInfo {
                    totalPages
                    totalItems
                }
                items {
                    id
                }
            }
        }"""
    
        submissions = {}
    
        for user in [user_1, user_2, user_3]:
            graphql_client.force_login(user)
    
            resp = graphql_client.query(
                query,
                variables={"code": submission.conference.code, "page": 1},
            )
    
            submissions[user] = resp["data"]["submissions"]["items"]
    
        assert submissions[user_1] != submissions[user_2]
        assert submissions[user_1] != submissions[user_3]
>       assert submissions[user_2] != submissions[user_3]
E       AssertionError: assert [{'id': 'gzyn'}, {'id': 'wrvy'}, {'id': 'glba'}] != [{'id': 'gzyn'}, {'id': 'wrvy'}, {'id': 'glba'}]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions