From 4867ffcb4b6dbb43498a3ea68a162a57590cd76e Mon Sep 17 00:00:00 2001 From: Faruk AYDIN Date: Tue, 12 Nov 2024 13:12:00 +0100 Subject: [PATCH] test: Implement tests for saml auth provider url methods --- .../src/models/saml-auth-provider.ee.test.js | 38 ++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/packages/backend/src/models/saml-auth-provider.ee.test.js b/packages/backend/src/models/saml-auth-provider.ee.test.js index 3ea21268..cc20db52 100644 --- a/packages/backend/src/models/saml-auth-provider.ee.test.js +++ b/packages/backend/src/models/saml-auth-provider.ee.test.js @@ -1,8 +1,9 @@ -import { describe, it, expect } from 'vitest'; +import { vi, describe, it, expect } from 'vitest'; import SamlAuthProvider from '../models/saml-auth-provider.ee'; import SamlAuthProvidersRoleMapping from '../models/saml-auth-providers-role-mapping.ee'; import Identity from './identity.ee'; import Base from './base'; +import appConfig from '../config/app'; describe('SamlAuthProvider model', () => { it('tableName should return correct name', () => { @@ -45,4 +46,39 @@ describe('SamlAuthProvider model', () => { expect(virtualAttributes).toStrictEqual(expectedAttributes); }); + + it('loginUrl should return the URL of login', () => { + const samlAuthProvider = new SamlAuthProvider(); + samlAuthProvider.issuer = 'sample-issuer'; + + vi.spyOn(appConfig, 'baseUrl', 'get').mockReturnValue( + 'https://automatisch.io' + ); + + expect(samlAuthProvider.loginUrl).toStrictEqual( + 'https://automatisch.io/login/saml/sample-issuer' + ); + }); + + it('loginCallbackUrl should return the URL of login callback', () => { + const samlAuthProvider = new SamlAuthProvider(); + samlAuthProvider.issuer = 'sample-issuer'; + + vi.spyOn(appConfig, 'baseUrl', 'get').mockReturnValue( + 'https://automatisch.io' + ); + + expect(samlAuthProvider.loginCallBackUrl).toStrictEqual( + 'https://automatisch.io/login/saml/sample-issuer/callback' + ); + }); + + it('remoteLogoutUrl should return the URL from entrypoint', () => { + const samlAuthProvider = new SamlAuthProvider(); + samlAuthProvider.entryPoint = 'https://example.com/saml/logout'; + + expect(samlAuthProvider.remoteLogoutUrl).toStrictEqual( + 'https://example.com/saml/logout' + ); + }); });