unison/unison-src/transcripts/move-all.md
2024-06-25 11:12:43 -07:00

72 lines
971 B
Markdown

# Tests for `move`
```ucm:hide
scratch/main> builtins.merge
```
## Happy Path - namespace, term, and type
Create a term, type, and namespace with history
```unison
Foo = 2
unique type Foo = Foo
Foo.termInA = 1
unique type Foo.T = T
```
```ucm
scratch/main> add
```
```unison
Foo.termInA = 2
unique type Foo.T = T1 | T2
```
```ucm
scratch/main> update
```
Should be able to move the term, type, and namespace, including its types, terms, and sub-namespaces.
```ucm
scratch/main> move Foo Bar
scratch/main> ls
scratch/main> ls Bar
scratch/main> history Bar
```
## Happy Path - Just term
```unison
bonk = 5
```
```ucm
z/main> builtins.merge
z/main> add
z/main> move bonk zonk
z/main> ls
```
## Happy Path - Just namespace
```unison
bonk.zonk = 5
```
```ucm
a/main> builtins.merge
a/main> add
a/main> move bonk zonk
a/main> ls
a/main> view zonk.zonk
```
## Sad Path - No term, type, or namespace named src
```ucm:error
scratch/main> move doesntexist foo
```