From d6ba514922a67876389bc59461f7c580ce54899b Mon Sep 17 00:00:00 2001 From: graciousgrey Date: Wed, 14 Feb 2024 19:33:19 +0100 Subject: [PATCH] Tests: Add unit tests --- internal/acl/grant_test.go | 38 ++++++++++++++++++++++++++++++---- internal/commands/find_test.go | 26 +++++++++++++++++++++++ 2 files changed, 60 insertions(+), 4 deletions(-) create mode 100644 internal/commands/find_test.go diff --git a/internal/acl/grant_test.go b/internal/acl/grant_test.go index 994a46d4d..d18ce395e 100644 --- a/internal/acl/grant_test.go +++ b/internal/acl/grant_test.go @@ -7,13 +7,43 @@ import ( ) func TestGrant_Allow(t *testing.T) { - t.Run("ViewAllDownload", func(t *testing.T) { - assert.True(t, GrantViewAll.Allow(ActionView)) + t.Run("GrantFullAccessAll", func(t *testing.T) { + assert.True(t, GrantFullAccess.Allow(AccessAll)) }) - t.Run("ViewAllShare", func(t *testing.T) { - assert.False(t, GrantViewAll.Allow(ActionShare)) + t.Run("GrantFullAccessDownload", func(t *testing.T) { + assert.True(t, GrantFullAccess.Allow(ActionDownload)) + }) + t.Run("GrantFullAccessDelete", func(t *testing.T) { + assert.True(t, GrantFullAccess.Allow(ActionDelete)) + }) + t.Run("GrantFullAccessLibrary", func(t *testing.T) { + assert.True(t, GrantFullAccess.Allow(AccessLibrary)) }) t.Run("UnknownAction", func(t *testing.T) { assert.False(t, GrantViewAll.Allow("lovecats")) }) + t.Run("ViewAllView", func(t *testing.T) { + assert.True(t, GrantViewAll.Allow(ActionView)) + }) + t.Run("ViewAllAccessAll", func(t *testing.T) { + assert.True(t, GrantViewAll.Allow(AccessAll)) + }) + t.Run("ViewAllDownload", func(t *testing.T) { + assert.False(t, GrantViewAll.Allow(ActionDownload)) + }) + t.Run("ViewAllShare", func(t *testing.T) { + assert.False(t, GrantViewAll.Allow(ActionShare)) + }) + t.Run("ViewOwnShare", func(t *testing.T) { + assert.False(t, GrantViewOwn.Allow(ActionShare)) + }) + t.Run("ViewOwnView", func(t *testing.T) { + assert.True(t, GrantViewOwn.Allow(ActionView)) + }) + t.Run("ViewOwnAccessAll", func(t *testing.T) { + assert.False(t, GrantViewOwn.Allow(AccessAll)) + }) + t.Run("ViewOwnAccessOwn", func(t *testing.T) { + assert.True(t, GrantViewOwn.Allow(AccessOwn)) + }) } diff --git a/internal/commands/find_test.go b/internal/commands/find_test.go new file mode 100644 index 000000000..49dcc62e4 --- /dev/null +++ b/internal/commands/find_test.go @@ -0,0 +1,26 @@ +package commands + +import ( + "github.com/photoprism/photoprism/pkg/capture" + "github.com/stretchr/testify/assert" + "testing" +) + +func TestFindCommand(t *testing.T) { + t.Run("All", func(t *testing.T) { + var err error + + // Create test context with flags and arguments. + ctx := NewTestContext([]string{"find", "--csv"}) + + // Run command with test context. + output := capture.Output(func() { + err = FindCommand.Run(ctx) + }) + + // Check command output for plausibility. + //t.Logf(output) + assert.NoError(t, err) + assert.Contains(t, output, "File Name;Mime Type;") + }) +}