Skip to content

Commit d715329

Browse files
committed
type fixes
1 parent 214a1fa commit d715329

File tree

2 files changed

+9
-17
lines changed

2 files changed

+9
-17
lines changed

test/init.test.ts

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -45,8 +45,7 @@ describe('Flagsmith.init', () => {
4545
const onChange = jest.fn()
4646
const testIdentityWithTraits = `test_identity_with_traits`
4747
const {flagsmith,initConfig, AsyncStorage,mockFetch} = getFlagsmith({onChange, identity:testIdentityWithTraits, traits:{number_trait:1, string_trait:"Example"}})
48-
//@ts-ignore
49-
mockFetch.mockResolvedValueOnce({status: 200, text: () => fs.readFile(`./test/data/identities_${testIdentityWithTraits}.json`)})
48+
mockFetch.mockResolvedValueOnce({status: 200, text: () => fs.readFile(`./test/data/identities_${testIdentityWithTraits}.json`, 'utf8')})
5049

5150
await flagsmith.init(initConfig);
5251

@@ -73,38 +72,32 @@ describe('Flagsmith.init', () => {
7372
test('should reject initialize with identity bad key', async () => {
7473
const onChange = jest.fn()
7574
const {flagsmith,initConfig,mockFetch} = getFlagsmith({onChange, environmentID:"bad"})
76-
//@ts-ignore
77-
mockFetch.mockResolvedValueOnce(async () => { return {status: 404} })
75+
mockFetch.mockResolvedValueOnce({status: 404, text: async () => ''})
7876
await expect(flagsmith.init(initConfig)).rejects.toThrow(Error);
7977
});
8078
test('identifying with new identity should not carry over previous traits for different identity', async () => {
8179
const onChange = jest.fn()
8280
const identityA = `test_identity_a`
8381
const identityB = `test_identity_b`
8482
const {flagsmith,initConfig,mockFetch} = getFlagsmith({onChange, identity:identityA, traits: {a:`example`}})
85-
//@ts-ignore
86-
mockFetch.mockResolvedValueOnce({status: 200, text: () => fs.readFile(`./test/data/identities_${identityA}.json`)})
83+
mockFetch.mockResolvedValueOnce({status: 200, text: () => fs.readFile(`./test/data/identities_${identityA}.json`, 'utf8')})
8784
await flagsmith.init(initConfig);
8885
expect(flagsmith.getTrait("a")).toEqual(`example`)
89-
//@ts-ignore
90-
mockFetch.mockResolvedValueOnce({status: 200, text: () => fs.readFile(`./test/data/identities_${identityB}.json`)})
86+
mockFetch.mockResolvedValueOnce({status: 200, text: () => fs.readFile(`./test/data/identities_${identityB}.json`, 'utf8')})
9187
await flagsmith.identify(identityB)
9288
expect(flagsmith.getTrait("a")).toEqual(undefined)
93-
//@ts-ignore
94-
mockFetch.mockResolvedValueOnce({status: 200, text: () => fs.readFile(`./test/data/identities_${identityA}.json`)})
89+
mockFetch.mockResolvedValueOnce({status: 200, text: () => fs.readFile(`./test/data/identities_${identityA}.json`, 'utf8')})
9590
await flagsmith.identify(identityA)
9691
expect(flagsmith.getTrait("a")).toEqual(`example`)
97-
//@ts-ignore
98-
mockFetch.mockResolvedValueOnce({status: 200, text: () => fs.readFile(`./test/data/identities_${identityB}.json`)})
92+
mockFetch.mockResolvedValueOnce({status: 200, text: () => fs.readFile(`./test/data/identities_${identityB}.json`, 'utf8')})
9993
await flagsmith.identify(identityB)
10094
expect(flagsmith.getTrait("a")).toEqual(undefined)
10195
});
10296
test('identifying with transient identity should request the API correctly', async () => {
10397
const onChange = jest.fn()
10498
const testTransientIdentity = `test_transient_identity`
10599
const {flagsmith,initConfig,mockFetch} = getFlagsmith({onChange, identity: {identifier: testTransientIdentity, transient: true}})
106-
//@ts-ignore
107-
mockFetch.mockResolvedValueOnce({status: 200, text: () => fs.readFile(`./test/data/identities_${testTransientIdentity}.json`)})
100+
mockFetch.mockResolvedValueOnce({status: 200, text: () => fs.readFile(`./test/data/identities_${testTransientIdentity}.json`, 'utf8')})
108101
await flagsmith.init(initConfig);
109102
expect(mockFetch).toHaveBeenCalledWith(`https://edge.api.flagsmith.com/api/v1/identities/?identifier=${testTransientIdentity}&transient=true`,
110103
expect.objectContaining({method: 'GET'}),
@@ -116,8 +109,7 @@ describe('Flagsmith.init', () => {
116109
const {flagsmith,initConfig,mockFetch} = getFlagsmith({onChange, identity: testIdentityWithTransientTraits,
117110
traits: {number_trait:1, string_trait:"Example",transient_trait:{transient:true,value:"Example"}}
118111
})
119-
//@ts-ignore
120-
mockFetch.mockResolvedValueOnce({status: 200, text: () => fs.readFile(`./test/data/identities_${testIdentityWithTransientTraits}.json`)})
112+
mockFetch.mockResolvedValueOnce({status: 200, text: () => fs.readFile(`./test/data/identities_${testIdentityWithTransientTraits}.json`, 'utf8')})
121113
await flagsmith.init(initConfig);
122114
expect(mockFetch).toHaveBeenCalledWith('https://edge.api.flagsmith.com/api/v1/identities/',
123115
expect.objectContaining({method: 'POST', body: JSON.stringify({

utils/types.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { IIdentityConfig, IFlagsmithTrait, ITraitConfig } from "../types";
22

33
export function isTraitConfig(trait: ITraitConfig | IFlagsmithTrait): trait is ITraitConfig {
4-
return typeof trait == 'object' && trait.value !== undefined;
4+
return !!trait && typeof trait == 'object' && trait.value !== undefined;
55
}
66

77
export function isIdentityConfig(identity: IIdentityConfig | string): identity is IIdentityConfig {

0 commit comments

Comments
 (0)