• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

box / box-typescript-sdk-gen / 8550400638

04 Apr 2024 06:42AM UTC coverage: 43.84% (+0.07%) from 43.769%
8550400638

Pull #131

github

web-flow
Merge e9e1234f9 into 57ccdaca7
Pull Request #131: feat: Assign default value to fields and args of type enum with only one value (box/box-codegen#465)

2299 of 9112 branches covered (25.23%)

Branch coverage included in aggregate %.

128 of 250 new or added lines in 11 files covered. (51.2%)

4 existing lines in 1 file now uncovered.

7391 of 12991 relevant lines covered (56.89%)

75.35 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

81.43
/src/test/commons.generated.ts
1
import { serializeFolderFull } from '../schemas.generated.js';
2
import { deserializeFolderFull } from '../schemas.generated.js';
3
import { serializeCreateFolderRequestBody } from '../managers/folders.generated.js';
4
import { deserializeCreateFolderRequestBody } from '../managers/folders.generated.js';
5
import { serializeCreateFolderRequestBodyParentField } from '../managers/folders.generated.js';
6
import { deserializeCreateFolderRequestBodyParentField } from '../managers/folders.generated.js';
7
import { serializeFileFull } from '../schemas.generated.js';
8
import { deserializeFileFull } from '../schemas.generated.js';
9
import { serializeFiles } from '../schemas.generated.js';
10
import { deserializeFiles } from '../schemas.generated.js';
11
import { serializeUploadFileRequestBodyAttributesField } from '../managers/uploads.generated.js';
12
import { deserializeUploadFileRequestBodyAttributesField } from '../managers/uploads.generated.js';
13
import { serializeUploadFileRequestBodyAttributesParentField } from '../managers/uploads.generated.js';
14
import { deserializeUploadFileRequestBodyAttributesParentField } from '../managers/uploads.generated.js';
15
import { serializeTermsOfServices } from '../schemas.generated.js';
16
import { deserializeTermsOfServices } from '../schemas.generated.js';
17
import { serializeCreateTermsOfServiceRequestBody } from '../managers/termsOfServices.generated.js';
18
import { deserializeCreateTermsOfServiceRequestBody } from '../managers/termsOfServices.generated.js';
19
import { serializeCreateTermsOfServiceRequestBodyStatusField } from '../managers/termsOfServices.generated.js';
20
import { deserializeCreateTermsOfServiceRequestBodyStatusField } from '../managers/termsOfServices.generated.js';
21
import { serializeCreateTermsOfServiceRequestBodyTosTypeField } from '../managers/termsOfServices.generated.js';
22
import { deserializeCreateTermsOfServiceRequestBodyTosTypeField } from '../managers/termsOfServices.generated.js';
23
import { serializeClassificationTemplateFieldsOptionsField } from '../schemas.generated.js';
24
import { deserializeClassificationTemplateFieldsOptionsField } from '../schemas.generated.js';
25
import { serializeAddClassificationRequestBody } from '../managers/classifications.generated.js';
26
import { deserializeAddClassificationRequestBody } from '../managers/classifications.generated.js';
27
import { serializeAddClassificationRequestBodyDataField } from '../managers/classifications.generated.js';
28
import { deserializeAddClassificationRequestBodyDataField } from '../managers/classifications.generated.js';
29
import { serializeAddClassificationRequestBodyDataStaticConfigField } from '../managers/classifications.generated.js';
30
import { deserializeAddClassificationRequestBodyDataStaticConfigField } from '../managers/classifications.generated.js';
31
import { serializeAddClassificationRequestBodyDataStaticConfigClassificationField } from '../managers/classifications.generated.js';
32
import { deserializeAddClassificationRequestBodyDataStaticConfigClassificationField } from '../managers/classifications.generated.js';
33
import { serializeCreateClassificationTemplateRequestBody } from '../managers/classifications.generated.js';
34
import { deserializeCreateClassificationTemplateRequestBody } from '../managers/classifications.generated.js';
35
import { serializeCreateClassificationTemplateRequestBodyFieldsField } from '../managers/classifications.generated.js';
36
import { deserializeCreateClassificationTemplateRequestBodyFieldsField } from '../managers/classifications.generated.js';
37
import { serializeShieldInformationBarrier } from '../schemas.generated.js';
38
import { deserializeShieldInformationBarrier } from '../schemas.generated.js';
39
import { serializeShieldInformationBarriers } from '../schemas.generated.js';
40
import { deserializeShieldInformationBarriers } from '../schemas.generated.js';
41
import { serializeCreateShieldInformationBarrierRequestBody } from '../managers/shieldInformationBarriers.generated.js';
42
import { deserializeCreateShieldInformationBarrierRequestBody } from '../managers/shieldInformationBarriers.generated.js';
43
import { serializeEnterpriseBase } from '../schemas.generated.js';
44
import { deserializeEnterpriseBase } from '../schemas.generated.js';
45
import { serializeClassificationTemplate } from '../schemas.generated.js';
46
import { deserializeClassificationTemplate } from '../schemas.generated.js';
47
import { serializeTermsOfService } from '../schemas.generated.js';
48
import { deserializeTermsOfService } from '../schemas.generated.js';
49
import { FolderFull } from '../schemas.generated.js';
50
import { CreateFolderRequestBody } from '../managers/folders.generated.js';
51
import { CreateFolderRequestBodyParentField } from '../managers/folders.generated.js';
52
import { FileFull } from '../schemas.generated.js';
53
import { ByteStream } from '../internal/utils.js';
54
import { Files } from '../schemas.generated.js';
55
import { UploadFileRequestBody } from '../managers/uploads.generated.js';
56
import { UploadFileRequestBodyAttributesField } from '../managers/uploads.generated.js';
57
import { UploadFileRequestBodyAttributesParentField } from '../managers/uploads.generated.js';
58
import { TermsOfServices } from '../schemas.generated.js';
59
import { CreateTermsOfServiceRequestBody } from '../managers/termsOfServices.generated.js';
60
import { CreateTermsOfServiceRequestBodyStatusField } from '../managers/termsOfServices.generated.js';
61
import { CreateTermsOfServiceRequestBodyTosTypeField } from '../managers/termsOfServices.generated.js';
62
import { ClassificationTemplateFieldsOptionsField } from '../schemas.generated.js';
63
import { AddClassificationRequestBody } from '../managers/classifications.generated.js';
134✔
64
import { AddClassificationRequestBodyDataField } from '../managers/classifications.generated.js';
65
import { AddClassificationRequestBodyDataStaticConfigField } from '../managers/classifications.generated.js';
66
import { AddClassificationRequestBodyDataStaticConfigClassificationField } from '../managers/classifications.generated.js';
67
import { CreateClassificationTemplateRequestBody } from '../managers/classifications.generated.js';
134✔
68
import { CreateClassificationTemplateRequestBodyFieldsField } from '../managers/classifications.generated.js';
134✔
69
import { ShieldInformationBarrier } from '../schemas.generated.js';
70
import { ShieldInformationBarriers } from '../schemas.generated.js';
71
import { CreateShieldInformationBarrierRequestBody } from '../managers/shieldInformationBarriers.generated.js';
72
import { EnterpriseBase } from '../schemas.generated.js';
73
import { decodeBase64 } from '../internal/utils.js';
134✔
74
import { getEnvVar } from '../internal/utils.js';
134✔
75
import { getUuid } from '../internal/utils.js';
134✔
76
import { generateByteStream } from '../internal/utils.js';
134✔
77
import { BoxClient } from '../client.generated.js';
134✔
78
import { ClassificationTemplate } from '../schemas.generated.js';
79
import { TermsOfService } from '../schemas.generated.js';
80
import { BoxJwtAuth } from '../box/jwtAuth.generated.js';
134✔
81
import { JwtConfig } from '../box/jwtAuth.generated.js';
134✔
82
import { toString } from '../internal/utils.js';
134✔
83
import { sdToJson } from '../serialization/json.js';
84
import { SerializedData } from '../serialization/json.js';
85
import { sdIsEmpty } from '../serialization/json.js';
86
import { sdIsBoolean } from '../serialization/json.js';
87
import { sdIsNumber } from '../serialization/json.js';
88
import { sdIsString } from '../serialization/json.js';
89
import { sdIsList } from '../serialization/json.js';
90
import { sdIsMap } from '../serialization/json.js';
91
export function getJwtAuth(): BoxJwtAuth {
134✔
92
  const jwtConfig: JwtConfig = JwtConfig.fromConfigJsonString(
224✔
93
    decodeBase64(getEnvVar('JWT_CONFIG_BASE_64'))
94
  );
95
  const auth: BoxJwtAuth = new BoxJwtAuth({ config: jwtConfig });
224✔
96
  return auth;
224✔
97
}
98
export function getDefaultClientWithUserSubject(userId: string): BoxClient {
134✔
99
  const auth: BoxJwtAuth = getJwtAuth();
38✔
100
  const authUser: BoxJwtAuth = auth.withUserSubject(userId);
38✔
101
  return new BoxClient({ auth: authUser });
38✔
102
}
103
export function getDefaultClient(): BoxClient {
134✔
104
  const client: BoxClient = new BoxClient({ auth: getJwtAuth() });
186✔
105
  return client;
186✔
106
}
107
export async function createNewFolder(): Promise<FolderFull> {
134✔
108
  const client: BoxClient = getDefaultClient();
26✔
109
  const newFolderName: string = getUuid();
26✔
110
  return await client.folders.createFolder({
26✔
111
    name: newFolderName,
112
    parent: { id: '0' } satisfies CreateFolderRequestBodyParentField,
113
  } satisfies CreateFolderRequestBody);
114
}
115
export async function uploadNewFile(): Promise<FileFull> {
134✔
116
  const client: BoxClient = getDefaultClient();
34✔
117
  const newFileName: string = ''.concat(getUuid(), '.pdf') as string;
34✔
118
  const fileContentStream: ByteStream = generateByteStream(1024 * 1024);
34✔
119
  const uploadedFiles: Files = await client.uploads.uploadFile({
34✔
120
    attributes: {
121
      name: newFileName,
122
      parent: { id: '0' } satisfies UploadFileRequestBodyAttributesParentField,
123
    } satisfies UploadFileRequestBodyAttributesField,
124
    file: fileContentStream,
125
  } satisfies UploadFileRequestBody);
126
  return uploadedFiles.entries![0];
34✔
127
}
128
export async function getOrCreateTermsOfServices(): Promise<TermsOfService> {
134✔
129
  const client: BoxClient = getDefaultClient();
4✔
130
  const tos: TermsOfServices = await client.termsOfServices.getTermsOfService();
4✔
131
  const numberOfTos: number = tos.entries!.length;
4✔
132
  if (numberOfTos >= 1) {
4✔
133
    const firstTos: TermsOfService = tos.entries![0];
4✔
134
    if ((toString(firstTos.tosType) as string) == 'managed') {
4✔
135
      return firstTos;
4✔
136
    }
137
  }
138
  if (numberOfTos >= 2) {
×
139
    const secondTos: TermsOfService = tos.entries![1];
×
140
    if ((toString(secondTos.tosType) as string) == 'managed') {
×
141
      return secondTos;
×
142
    }
143
  }
144
  return await client.termsOfServices.createTermsOfService({
×
145
    status: 'disabled' as CreateTermsOfServiceRequestBodyStatusField,
146
    tosType: 'managed' as CreateTermsOfServiceRequestBodyTosTypeField,
147
    text: 'Test TOS',
148
  } satisfies CreateTermsOfServiceRequestBody);
149
}
150
export async function getOrCreateClassification(
134✔
151
  classificationTemplate: ClassificationTemplate
152
): Promise<ClassificationTemplateFieldsOptionsField> {
153
  const client: BoxClient = getDefaultClient();
6✔
154
  const classifications: readonly ClassificationTemplateFieldsOptionsField[] =
155
    classificationTemplate.fields[0].options;
6✔
156
  const currentNumberOfClassifications: number = classifications.length;
6✔
157
  if (currentNumberOfClassifications == 0) {
6!
158
    const classificationTemplateWithNewClassification: ClassificationTemplate =
159
      await client.classifications.addClassification([
×
160
        new AddClassificationRequestBody({
161
          data: {
162
            key: getUuid(),
163
            staticConfig: {
164
              classification: {
165
                colorId: 3,
166
                classificationDefinition: 'Some description',
167
              } satisfies AddClassificationRequestBodyDataStaticConfigClassificationField,
168
            } satisfies AddClassificationRequestBodyDataStaticConfigField,
169
          } satisfies AddClassificationRequestBodyDataField,
170
        }),
171
      ]);
172
    return classificationTemplateWithNewClassification.fields[0].options[0];
×
173
  }
174
  return classifications[0];
6✔
175
}
176
export async function getOrCreateClassificationTemplate(): Promise<ClassificationTemplate> {
134✔
177
  const client: BoxClient = getDefaultClient();
6✔
178
  try {
6✔
179
    return await client.classifications.getClassificationTemplate();
6✔
180
  } catch (error) {
NEW
181
    return await client.classifications.createClassificationTemplate(
×
182
      new CreateClassificationTemplateRequestBody({
183
        fields: [
184
          new CreateClassificationTemplateRequestBodyFieldsField({
185
            options: [],
186
          }),
187
        ],
188
      })
189
    );
190
  } finally {
191
  }
192
}
193
export async function getOrCreateShieldInformationBarrier(
134✔
194
  client: BoxClient,
195
  enterpriseId: string
196
): Promise<ShieldInformationBarrier> {
197
  const barriers: ShieldInformationBarriers =
198
    await client.shieldInformationBarriers.getShieldInformationBarriers();
10✔
199
  const numberOfBarriers: number = barriers.entries!.length;
10✔
200
  if (numberOfBarriers == 0) {
10!
201
    return await client.shieldInformationBarriers.createShieldInformationBarrier(
×
202
      {
203
        enterprise: { id: enterpriseId } satisfies EnterpriseBase,
204
      } satisfies CreateShieldInformationBarrierRequestBody
205
    );
206
  }
207
  return barriers.entries![numberOfBarriers - 1];
10✔
208
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2025 Coveralls, Inc