main

mattermost/focalboard

Last updated at: 29/12/2023 09:40

filterClause.test.ts

TLDR

This file contains tests for the createFilterClause and areEqual functions in the filterClause module.

Methods

createFilterClause

This method takes an object as input and creates a filter clause based on the provided values. It returns the created filter clause.

areEqual

This method compares two filter clauses and checks if they are equal. It takes two filter clauses as input and returns a boolean value indicating whether they are equal or not.

// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
// See LICENSE.txt for license information.
import {areEqual, createFilterClause} from './filterClause'

describe('filterClause tests', () => {
    it('create filter clause', () => {
        const clause = createFilterClause({
            propertyId: 'myPropertyId',
            condition: 'contains',
            values: [],
        })

        expect(clause).toEqual({
            propertyId: 'myPropertyId',
            condition: 'contains',
            values: [],
        })
    })

    it('test filter clauses are equal', () => {
        const clause = createFilterClause({
            propertyId: 'myPropertyId',
            condition: 'contains',
            values: ['abc', 'def'],
        })
        const newClause = createFilterClause(clause)
        const testEqual = areEqual(clause, newClause)
        expect(testEqual).toBeTruthy()
    })

    it('test filter clauses are Not equal property ID', () => {
        const clause = createFilterClause({
            propertyId: 'myPropertyId',
            condition: 'contains',
            values: ['abc', 'def'],
        })
        const newClause = createFilterClause(clause)
        newClause.propertyId = 'DifferentID'
        const testEqual = areEqual(clause, newClause)
        expect(testEqual).toBeFalsy()
    })
    it('test filter clauses are Not equal condition', () => {
        const clause = createFilterClause({
            propertyId: 'myPropertyId',
            condition: 'contains',
            values: ['abc', 'def'],
        })
        const newClause = createFilterClause(clause)
        newClause.condition = 'notContains'
        const testEqual = areEqual(clause, newClause)
        expect(testEqual).toBeFalsy()
    })
    it('test filter clauses are Not equal values', () => {
        const clause = createFilterClause({
            propertyId: 'myPropertyId',
            condition: 'contains',
            values: ['abc', 'def'],
        })
        const newClause = createFilterClause(clause)
        newClause.values = ['abc, def']
        const testEqual = areEqual(clause, newClause)
        expect(testEqual).toBeFalsy()
    })
})