UNPKG

instantjob-recruiter-client

Version:

a set of tools for creating an instantjob recruiter react client

67 lines (59 loc) 2.12 kB
import { get_mission_fields, get_missions_fields, get_fields, get_proposal_ids, get_user_fields, get_mission_values_by_mission, get_users_filter_fields, } from 'selectors/fields' import {array_from_hash} from 'common/utilities' import state from './state.js' import expect from 'expect' describe("get_fields", () => { it("should return fields", () => { let fields = get_fields(state) expect(fields[0]).toExist() }) }) describe("get_mission_fields", () => { it("should return fields", () => { let fields = get_mission_fields(1)(state) expect(fields[1]).toExist() expect(fields[7].category).toEqual('non_exclusive') }) }) describe("get_users_fields", () => { it("should return fields", () => { let fields = get_user_fields(1)(state) expect(fields[7].category).toEqual('exclusive') }) }) describe("get_missions_fields", () => { it("should return all missions fields", () => { const fields = array_from_hash(get_missions_fields(state)) expect(fields.length).toEqual( array_from_hash(state.fields.fields) .filter(({for_entity, recycled}) => (for_entity == 'User' && recycled) || for_entity == 'Mission') .length ) expect(fields[0].category).toEqual('comment') expect(fields[1].category).toEqual('non_exclusive') expect(fields[2].category).toEqual('exclusive') expect(fields[3].category).toEqual('non_exclusive') expect(fields[4].category).toEqual('non_exclusive') }) }) describe("get_proposal_ids", () => { it("should return proposal ids", () => { let proposal_ids = get_proposal_ids(state) expect(proposal_ids.length).toEqual(1) }) }) describe("get_mission_values_by_mission", () => { it("should return values by mission", () => { expect(get_mission_values_by_mission(state)[6]).toInclude(2) }) }) describe("get_users_filter_fields", () => { it("should include mission fields", () => { const users_filter_fields = get_users_filter_fields(state) const client_field = users_filter_fields.filter(({id}) => id == 5)[0] expect(client_field.get_item_values({id: 1})).toMatch([3]) }) })