Created
September 8, 2023 01:15
-
-
Save mandemeskel/1e93774e1abe629ceed16fca2322c219 to your computer and use it in GitHub Desktop.
example of testing API
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import DataTypes from "@/models/data_types" | |
import User, { UpdateFindType } from "@/models/user" | |
import SaleL3Types from "@blogic/sale_l3_types" | |
import L3DataGenerators from "@tests/l3_data_generators" | |
import * as user_model_creator from "@tests/shared/user_model_creator" | |
namespace UserTapi { | |
export function createQuickBooksUser() { | |
return user_model_creator.createQuickBooksUser() | |
} | |
export function createInputData(): DataTypes.OldUser { | |
return { | |
company_name: 'company', | |
default_gateway: 'Gateway', | |
support_email: 'quest@ions.email', | |
last_login: '02/18/2023 03:08:06 am', | |
support_phone: '2341009898', | |
gateway_id: 'gw id', | |
} | |
} | |
export function createL3Placeholder(): SaleL3Types.Placeholder { | |
return L3DataGenerators.createL3Placeholder() | |
} | |
export function createL3Placeholders(): DataTypes.L3Placeholders { | |
return L3DataGenerators.createL3Placeholders() | |
} | |
export function createL3PlaceholderForGateway( | |
gateway: DataTypes.Gateways | |
): DataTypes.L3Placeholders { | |
const pls : DataTypes.L3Placeholders = {} | |
pls[gateway] = createL3Placeholder() | |
return pls | |
} | |
export function createRecord(input_data: DataTypes.OldUser) { | |
const record = new User(input_data) | |
record.save() | |
} | |
export function createSavedUser() { | |
return user_model_creator.createSavedUser() | |
} | |
export function createSavedUserWithoutSupportEmail() { | |
const user = createUnsavedUser() | |
user.support_email = undefined | |
user.save() | |
return user | |
} | |
export function createUnsavedUser() { | |
return user_model_creator.createUnsavedUser() | |
} | |
export function createSavedUserWithL3Placeholder() { | |
const user = createUnsavedUser() | |
const placeholder = createL3PlaceholderForGateway(user.default_gateway) | |
user.gateway_l3_placeholders = placeholder | |
user.save() | |
return User.get() | |
} | |
export function createSavedUserWithoutL3Placeholder() { | |
const user = createSavedUser() | |
user.update({ gateway_l3_placeholders: undefined }) | |
return User.get() | |
} | |
export function dropTable() { | |
User.dropTable() | |
} | |
export function expectL3PlaceHolderToEq( | |
placeholder: DataTypes.L3Placeholders, | |
user: User = User.get() | |
) { | |
expect(user.gateway_l3_placeholders).toEqual( | |
placeholder | |
) | |
} | |
export function expectUserNotToExist() { | |
const user = User.getSafely() | |
expect(user).not.toBeInstanceOf(User) | |
} | |
export function expectUserToExist() { | |
const user = User.getSafely() | |
expect(user).toBeInstanceOf(User) | |
} | |
export function get() : User { | |
return User.get() | |
} | |
export function getSavedUser() : User { | |
return get() | |
} | |
export function update( | |
data: UpdateFindType, | |
) { | |
const user = get() | |
user.update(data) | |
} | |
export function updateWithOverwitePlaceholders( | |
data: UpdateFindType, | |
) { | |
const user = get() | |
user.update(data, { overwrite_placeholders: true }) | |
} | |
} | |
export default UserTapi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment