Esempio n. 1
0
 it('resolves imported values from root variables if no @argumentDefintions defined', () => {
   const {Fragment} = generateAndCompile(
     `
     fragment Fragment on User {
       profilePicture(size: $size) { uri }
     }
   `,
   );
   const variables = getFragmentVariables(Fragment, {size: 42}, {});
   expect(variables).toEqual({
     size: 42,
   });
 });
Esempio n. 2
0
 it('correctly ignores default value when argument passed', () => {
   const {Fragment} = generateAndCompile(
     `
   fragment Fragment on User @argumentDefinitions(
     size: {type: "[Int]", defaultValue: 42}
   ) {
     profilePicture(size: $size) { uri }
   }
 `,
   );
   const variables = getFragmentVariables(Fragment, {}, {size: 32});
   expect(variables).toEqual({
     size: 32,
   });
 });
Esempio n. 3
0
 it('correctly sets null argument values', () => {
   const {Fragment} = generateAndCompile(
     `
   fragment Fragment on User @argumentDefinitions(
     condition: {type: "Boolean"}
   ) {
     firstName(if: $condition)
   }
 `,
   );
   const variables = getFragmentVariables(Fragment, {}, {condition: null});
   expect(variables).toEqual({
     condition: null,
   });
 });
Esempio n. 4
0
 it('correctly sets argument value', () => {
   const {Fragment} = generateAndCompile(
     `
   fragment Fragment on User @argumentDefinitions(
     size: {type: "[Int]"}
   ) {
     profilePicture(size: $size) { uri }
   }
 `,
   );
   const variables = getFragmentVariables(Fragment, {}, {size: 32});
   expect(variables).toEqual({
     size: 32,
   });
 });
Esempio n. 5
0
 it('sets variables to default values if defined and no argument passed and no root variable available', () => {
   const {Fragment} = generateAndCompile(
     `
     fragment Fragment on User @argumentDefinitions(
       size: {type: "[Int]", defaultValue: 42}
     ) {
       profilePicture(size: $size) { uri }
     }
   `,
   );
   const variables = getFragmentVariables(Fragment, {}, {});
   expect(variables).toEqual({
     size: 42,
   });
 });
Esempio n. 6
0
 it('sets variables to null if fragment has @argumentDefinitions but no argument passed, regardless if variable is available in global rootVariables scope', () => {
   const {Fragment} = generateAndCompile(
     `
     fragment Fragment on User @argumentDefinitions(
       size: {type: "[Int]"}
     ) {
       profilePicture(size: $size) { uri }
     }
   `,
   );
   const variables = getFragmentVariables(Fragment, {size: 16}, {});
   expect(variables).toEqual({
     size: null,
   });
 });
Esempio n. 7
0
 it('only includes variables being referenced in fragment, regardless of rootVariables in global scope', () => {
   const {Fragment} = generateAndCompile(
     `
     fragment Fragment on User @argumentDefinitions(
       size: {type: "[Int]"}
     ) {
       profilePicture(size: $size) { uri }
     }
   `,
   );
   const variables = getFragmentVariables(
     Fragment,
     {size: 16, id: '1'},
     {size: 42},
   );
   expect(variables).toEqual({
     size: 42,
   });
 });