@nx-kz/go
Version:
This is Nx plugin to use Go in a Nx workspace.
44 lines (36 loc) • 1.41 kB
text/typescript
import { createTreeWithEmptyWorkspace } from '@nrwl/devkit/testing'
import { Tree, readWorkspaceConfiguration, updateWorkspaceConfiguration } from '@nrwl/devkit'
import generator from './generator'
describe('setup-go-plugin generator', () => {
let appTree: Tree
beforeEach(() => {
appTree = createTreeWithEmptyWorkspace()
})
it('should run successfully', async () => {
await generator(appTree)
const config = readWorkspaceConfiguration(appTree)
expect(config.plugins).toBeDefined()
expect(config.plugins.length).toBe(1)
expect(config.plugins[0]).toBe('@go/go')
})
it('should merge correctly', async () => {
let config = readWorkspaceConfiguration(appTree)
config.plugins = ['fake-plugin']
updateWorkspaceConfiguration(appTree, config)
await generator(appTree)
config = readWorkspaceConfiguration(appTree)
expect(config.plugins).toBeDefined()
expect(config.plugins.length).toBe(2)
expect(config.plugins[1]).toBe('@go/go')
})
it('should do nothing when already defined', async () => {
let config = readWorkspaceConfiguration(appTree)
config.plugins = ['@go/go']
updateWorkspaceConfiguration(appTree, config)
await generator(appTree)
config = readWorkspaceConfiguration(appTree)
expect(config.plugins).toBeDefined()
expect(config.plugins.length).toBe(1)
expect(config.plugins[0]).toBe('@go/go')
})
})