Skip to content

Commit

Permalink
test: Updates snapshots for passing tests
Browse files Browse the repository at this point in the history
  • Loading branch information
aviemet committed Apr 20, 2023
1 parent 26cfe1c commit 41e2919
Show file tree
Hide file tree
Showing 20 changed files with 178 additions and 44 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,9 @@
//
// DO NOT MODIFY: This file was automatically generated by TypesFromSerializers.

export default interface Composer {
export interface Composer {
id: number
firstName?: string
lastName?: string
name: string
}

Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
// TypesFromSerializers CacheKey 1e3a5dea8847b2dcfe76fec134589cbb
//
// DO NOT MODIFY: This file was automatically generated by TypesFromSerializers.
import type Model from './Model'
import type { Model } from './Model'

export default interface ComposerWithSongs {
export interface ComposerWithSongs {
id: number
firstName?: string
lastName?: string
name: string
songs: Model[]
}

Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
// TypesFromSerializers CacheKey ed8ff6fbc986e6b666d559749c666dc5
//
// DO NOT MODIFY: This file was automatically generated by TypesFromSerializers.
import type AnyModel from '../AnyModel'
import type { AnyModel } from '../AnyModel'

export default interface Model {
export interface Model {
id: AnyModel['id']
title: AnyModel['title']
}

Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
// TypesFromSerializers CacheKey 58897b61d86838c60d1f12700f326896
//
// DO NOT MODIFY: This file was automatically generated by TypesFromSerializers.
import type AnyModel from '../../AnyModel'
import type Song from '../Song'
import type { AnyModel } from '../../AnyModel'
import type { Song } from '../Song'

export default interface NestedAlbum {
export interface NestedAlbum {
id: AnyModel['id']
title: AnyModel['title']
tracks: Song[]
}

Original file line number Diff line number Diff line change
Expand Up @@ -2,10 +2,9 @@
//
// DO NOT MODIFY: This file was automatically generated by TypesFromSerializers.

export default interface SnakeComposer {
export interface SnakeComposer {
id: number
first_name?: string
last_name?: string
name: string
}

Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
// TypesFromSerializers CacheKey c3af64a41d21e71dfae56644517994e1
//
// DO NOT MODIFY: This file was automatically generated by TypesFromSerializers.
import type Composer from './Composer'
import type { Composer } from './Composer'

export default interface Song {
export interface Song {
id: number
composer: Composer
title?: string
}

Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
// TypesFromSerializers CacheKey 6774f7cbf07614cf9b4136fbd0c8b441
//
// DO NOT MODIFY: This file was automatically generated by TypesFromSerializers.
import type Composer from './Composer'
import type Video from './Video'
import type { Composer } from './Composer'
import type { Video } from './Video'

export default interface SongWithVideos {
export interface SongWithVideos {
id: number
composer: Composer
title?: string
videos: Video[]
}

Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,11 @@
//
// DO NOT MODIFY: This file was automatically generated by TypesFromSerializers.

export default interface Video {
export interface Video {
id: number
createdAt: string | Date
title?: string
untypedFieldExample: any
youtubeId?: string
youtubeUrl?: string
}

Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
// TypesFromSerializers CacheKey 4042db0fa9ebdf8668c7c5f0ec172e6d
//
// DO NOT MODIFY: This file was automatically generated by TypesFromSerializers.
import type Song from './Song'
import type { Song } from './Song'

export default interface VideoWithSong {
export interface VideoWithSong {
id: number
createdAt: string | Date
song: Song
Expand All @@ -12,4 +12,3 @@ export default interface VideoWithSong {
youtubeId?: string
youtubeUrl?: string
}

18 changes: 9 additions & 9 deletions spec/types_from_serializers/__snapshots__/interfaces_index.snap
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
// TypesFromSerializers CacheKey 6e82f9b05515cf2d2fd0ea698478f2de
//
// DO NOT MODIFY: This file was automatically generated by TypesFromSerializers.
export type { default as Composer } from './Composer'
export type { default as ComposerWithSongs } from './ComposerWithSongs'
export type { default as Model } from './Model'
export type { default as NestedAlbum } from './Nested/Album'
export type { default as SnakeComposer } from './SnakeComposer'
export type { default as Song } from './Song'
export type { default as SongWithVideos } from './SongWithVideos'
export type { default as Video } from './Video'
export type { default as VideoWithSong } from './VideoWithSong'
export type { Composer } from './Composer'
export type { ComposerWithSongs } from './ComposerWithSongs'
export type { Model } from './Model'
export type { NestedAlbum } from './Nested/Album'
export type { SnakeComposer } from './SnakeComposer'
export type { Song } from './Song'
export type { SongWithVideos } from './SongWithVideos'
export type { Video } from './Video'
export type { VideoWithSong } from './VideoWithSong'
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
// TypesFromSerializers CacheKey b379726b6fef2dadbfd614384b868746
//
// DO NOT MODIFY: This file was automatically generated by TypesFromSerializers.
export {}

declare global {
namespace Schema {
interface Composer {
id: number
firstName?: string
lastName?: string
name: string
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// TypesFromSerializers CacheKey 1e3a5dea8847b2dcfe76fec134589cbb
//
// DO NOT MODIFY: This file was automatically generated by TypesFromSerializers.
import type { Model } from './Model'

declare global {
namespace Schema {
interface ComposerWithSongs {
id: number
firstName?: string
lastName?: string
name: string
songs: Model[]
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
// TypesFromSerializers CacheKey ed8ff6fbc986e6b666d559749c666dc5
//
// DO NOT MODIFY: This file was automatically generated by TypesFromSerializers.
import type { AnyModel } from '../AnyModel'

declare global {
namespace Schema {
interface Model {
id: AnyModel['id']
title: AnyModel['title']
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
// TypesFromSerializers CacheKey 58897b61d86838c60d1f12700f326896
//
// DO NOT MODIFY: This file was automatically generated by TypesFromSerializers.
import type { AnyModel } from '../../AnyModel'
import type { Song } from '../Song'

declare global {
namespace Schema {
interface NestedAlbum {
id: AnyModel['id']
title: AnyModel['title']
tracks: Song[]
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
// TypesFromSerializers CacheKey 89e5760366d01f7f21244d341e1af2d4
//
// DO NOT MODIFY: This file was automatically generated by TypesFromSerializers.
export {}

declare global {
namespace Schema {
interface SnakeComposer {
id: number
first_name?: string
last_name?: string
name: string
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// TypesFromSerializers CacheKey c3af64a41d21e71dfae56644517994e1
//
// DO NOT MODIFY: This file was automatically generated by TypesFromSerializers.
import type { Composer } from './Composer'

declare global {
namespace Schema {
interface Song {
id: number
composer: Composer
title?: string
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// TypesFromSerializers CacheKey 6774f7cbf07614cf9b4136fbd0c8b441
//
// DO NOT MODIFY: This file was automatically generated by TypesFromSerializers.
import type { Composer } from './Composer'
import type { Video } from './Video'

declare global {
namespace Schema {
interface SongWithVideos {
id: number
composer: Composer
title?: string
videos: Video[]
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
// TypesFromSerializers CacheKey 45d6b515fb6118eabbd39d586269cdd0
//
// DO NOT MODIFY: This file was automatically generated by TypesFromSerializers.
export {}

declare global {
namespace Schema {
interface Video {
id: number
createdAt: string | Date
title?: string
untypedFieldExample: any
youtubeId?: string
youtubeUrl?: string
}
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// TypesFromSerializers CacheKey 4042db0fa9ebdf8668c7c5f0ec172e6d
//
// DO NOT MODIFY: This file was automatically generated by TypesFromSerializers.
import type { Song } from './Song'

declare global {
namespace Schema {
interface VideoWithSong {
id: number
createdAt: string | Date
song: Song
title?: string
untypedFieldExample: any
youtubeId?: string
youtubeUrl?: string
}
}
}
22 changes: 13 additions & 9 deletions spec/types_from_serializers/generator_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,16 @@
]
}

def file_for(dir, name)
dir.join("#{name.chomp("Serializer").gsub("::", "/")}.ts")
def file_for(dir, name, ext)
dir.join("#{name.chomp("Serializer").gsub("::", "/")}.#{ext}")
end

def app_file_for(name)
file_for(sample_dir, name)
def app_file_for(name, ext = "ts")
file_for(sample_dir, name, ext)
end

def output_file_for(name)
file_for(output_dir, name)
def output_file_for(name, ext = "ts")
file_for(output_dir, name, ext)
end

def expect_generator
Expand Down Expand Up @@ -86,12 +86,16 @@ def generate_serializers
TypesFromSerializers.generate

# It does not generate routes that don't have `export: true`.
expect(output_file_for("BaseSerializer").exist?).to be false
expect(output_file_for("BaseSerializer", "d.ts").exist?).to be false

# It does not generate an index file
index_file = output_dir.join("index.ts")
expect(index_file.exist?).to be false

# It generates one file per serializer.
serializers.each do |name|
output_file = output_file_for(name)
expect(output_file.read).to match_snapshot("namespace_interfaces_#{name}") # UPDATE_SNAPSHOTS="1" bin/rspec
output_file = output_file_for(name, "d.ts")
expect(output_file.read).to match_snapshot("namespace_interfaces_#{name.gsub("::", "__")}") # UPDATE_SNAPSHOTS="1" bin/rspec
end
end
end
Expand Down

0 comments on commit 41e2919

Please sign in to comment.